VerveineJ is a tool written in java that create a json or a mse file from Java source code.
To install VerveineJ, you need to clone it form VerveineJ github repositiory. You might prefer the latest released version.
# https
git clone https://github.com/moosetechnology/VerveineJ.git
# ssh
git clone git@github.com:moosetechnology/VerveineJ.git
To use VerveineJ, you can use Famix Maker or from a terminal.
From the terminal, you can use command line as follows:
./verveinej.sh -o MyProject.mse -autocp ../MyProjectDependenciesOrLib/ ../MyProjectSrcFolder/
To use the JSON file format, you can specify the output format of VerveineJ
./verveinej.sh -o MyProject.json -format json -autocp ../MyProjectDependenciesOrLib/ ../MyProjectSrcFolder/
In the following, we describe the option of VerveineJ.
Usage:
VerveineJ [-h] [-i] [-format (mse|json)] [-prettyPrint] [-o <output-file-name>] [-summary] [-alllocals] [-anchor (none|default|assoc)] [-cp CLASSPATH | -autocp DIR] [-1.1 | -1 | -1.2 | -2 | ... | -1.7 | -7] <files-to-parse> | <dirs-to-parse>"
VerveineJ options | description |
---|---|
-h | prints this message |
-i | toggles incremental parsing on (can parse a project in parts that are added to the output file) |
-format (mse| json) | specifies the output format (default: MSE) |
-prettyPrint | toggles the usage of the json pretty printer |
-o <output-file-name> | specifies the name of the output file (default: ouput.mse)) |
-summary | toggles summarization of information at the level of classes. Summarizing at the level of classes does not produce Methods, Attributes, Accesses, and Invocations. Everything is represented as references between classes: e.g. "A.m1() invokes B.m2()" is uplifted to "A references B". |
-alllocals | Forces outputing all local variables, even those with primitive type (incompatible with "-summary")”) |
-anchor (none|entity|default|assoc) | options for source anchor information: - no entity - only named entities [default] - named entities+associations (i.e. accesses, invocations, references) |
-cp CLASSPATH | classpath where to look for stubs) |
-autocp DIR | gather all jars in DIR and put them in the classpath |
-filecp FILE | gather all jars listed in FILE (absolute paths) and put them in the classpath |
-excludepath GLOBBINGEXPR | A globbing expression of file path to exclude from parsing |
-1.1 | -1 | -1.2 | -2 | … | -1.7 | -7 | specifies version of Java |
<files-to-parse>|<dirs-to-parse> | list of source files to parse or directories to search for source files |
It is also possible to use VerveineJ with Docker. Please look at the repository documentation.