This project contains java code to analyze, transform and generate code. It can also be used from the console with the command line interface.
If you follow the next steps you can get the parser_core
as a jar archive to analyze, transform and generate java code.
The project is created with the build tool Maven, the ide Eclipse and the Java Version 11.
It is possible to include the jar archive with the tool JitPack. Otherwise you can download the archive from the release page and include the archive manually.
Add the repository to the build file:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add the dependency:
<dependency>
<groupId>com.github.flaxel.parser</groupId>
<artifactId>parser_core</artifactId>
<version>1.0.0</version>
</dependency>
Add the repository to the build file:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency:
dependencies {
implementation 'com.github.flaxel.parser:parser_core:1.0.0'
}
Add the repository to the build file:
resolvers += "jitpack" at "https://jitpack.io"
Add the dependency:
libraryDependencies += "com.github.flaxel.parser" % "parser_core" % "1.0.0"
Add the repository to the build file:
:repositories [["jitpack" "https://jitpack.io"]]
Add the dependency:
:dependencies [[com.github.flaxel.parser/parser_core "1.0.0"]]
Analyze java code - list all class elements:
File file = new File("path/to/java_file");
ListClassHandler unitHandler = new ListClassHandler(System.out);
Analyzer.analyzeFile(file, unitHandler);
Transform java code - rename class to interface:
File file = new File("path/to/java_file");
RenameHandler unitHandler = new RenameHandler(System.out, "class", (oldString) -> "interface");
Transformer.transformFile(file, unitHandler);
Generate java code - create a person class:
File file = new File("path/to/java_file");
PojoGenerator generator = new PojoGenerator("Person", List.of(String.class, String.class), List.of("preName", "name"));
Generator.generate(generator, file);
You can find all generators, filters and handlers for analyzing, transforming and problems in the documentation.
There exists a java documentation for the module parser_core
. It is published on the branch gh-pages and can be accessed through this link https://flaxel.github.io/parser.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. First it is necessary to clone the project from the master branch.
git clone https://github.com/flaxel/parser.git
After that you can create all jars for the project.
mvn clean install
It is also possible to run all tests of the project.
mvn test
If you want to use the command line interface named parser_cli
, please download the zip archive from the release page. The next steps depend on your operating system.
There are two possibilities to add the parser. But first you must install the parser:
sudo mkdir /opt/parser
cd ~/Downloads
sudo unzip parser.zip -d /opt/parser
If you want to use the parser from the command line you can execute the following command:
echo "alias parser='java -jar /opt/parser/parser_cli-1.0.0-jar-with-dependencies.jar'" >> ~/.bash_aliases
Or you can add the parser as application:
cd /opt/parser
sudo mv parser.desktop /usr/share/applications/
It is very simple to execute the parser. You have to execute the parser.bat and the command line is started.