Package org.eolang.maven
Class SodgMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.SodgMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="sodg", defaultPhase=PROCESS_SOURCES, threadSafe=true, requiresDependencyResolution=COMPILE) public final class SodgMojo extends org.apache.maven.plugin.AbstractMojoConvert XMIR to SODG. SODG (Surging Object DiGraph) is our own format of graph representation. It essentially is a text file that consists of instructions for a virtual machine that is capable of parsing them and building a graph. An example of such a machine can be found in this repository. When the graph is built by the virtual machine, it must be possible to execute a program using graph traversing algorithm. An example of such an executor of a graph can be found in this repository.- Since:
- 0.27
-
-
Field Summary
Fields Modifier and Type Field Description protected PathcacheEO cache directory.static StringDIRThe directory where to save SODG to.protected FileforeignFile with foreign "tojos".protected StringforeignFormatFormat of "foreign" file ("json" or "csv").protected Map<String,? extends CommitHash>hashesCommit hashes.protected org.apache.maven.plugin.BuildPluginManagermanagerMaven plugin manager.protected FileplacedThe path to a text file where paths of all added .class (and maybe others) files are placed.protected StringplacedFormatFormat of "placed" file ("json" or "csv").protected PlacedTojosplacedTojosPlaced tojos.protected org.apache.maven.project.MavenProjectprojectMaven project.protected StringscopeCurrent scope (either "compile" or "test").protected org.apache.maven.execution.MavenSessionsessionMaven session.protected FiletargetDirTarget directory.protected IntegertimeoutMojo execution timeout in seconds.protected FiletranspiledThe path to a text file where paths of generated java files per EO program.protected StringtranspiledFormatFormat of "transpiled" file ("json" or "csv").protected TranspiledTojostranspiledTojosCached transpiled tojos.protected booleanunrollExitErrorIf set to TRUE, the exception on exit will be printed in details to the log.protected booleanwithVersionsUsed for object versioning implementation.
-
Constructor Summary
Constructors Constructor Description SodgMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexec()voidexecute()Execute it.protected ForeignTojosscopedTojos()Tojos to use, in my scope only.
-
-
-
Field Detail
-
DIR
public static final String DIR
The directory where to save SODG to.- See Also:
- Constant Field Values
-
project
@Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject projectMaven project.
-
session
@Parameter(defaultValue="${session}", readonly=true) protected org.apache.maven.execution.MavenSession sessionMaven session.
-
manager
@Component protected org.apache.maven.plugin.BuildPluginManager manager
Maven plugin manager.
-
foreign
@Parameter(property="eo.foreign", required=true, defaultValue="${project.build.directory}/eo-foreign.csv") protected File foreignFile with foreign "tojos".
-
foreignFormat
@Parameter(property="eo.foreignFormat", required=true, defaultValue="csv") protected String foreignFormatFormat of "foreign" file ("json" or "csv").
-
targetDir
@Parameter(property="eo.targetDir", required=true, defaultValue="${project.build.directory}/eo") protected File targetDirTarget directory.
-
scope
@Parameter(property="eo.scope") protected String scope
Current scope (either "compile" or "test").
-
placed
@Parameter(property="eo.placed", required=true, defaultValue="${project.build.directory}/eo-placed.csv") protected File placedThe path to a text file where paths of all added .class (and maybe others) files are placed.- Since:
- 0.11.0
-
placedFormat
@Parameter(property="eo.placedFormat", required=true, defaultValue="json") protected String placedFormatFormat of "placed" file ("json" or "csv").
-
transpiled
@Parameter(property="eo.transpiled", required=true, defaultValue="${project.build.directory}/eo-transpiled.csv") protected File transpiledThe path to a text file where paths of generated java files per EO program.- Since:
- 0.11.0
-
timeout
@Parameter(property="eo.timeout") protected Integer timeout
Mojo execution timeout in seconds.- Since:
- 0.28.12
-
transpiledFormat
@Parameter(property="eo.transpiledFormat", required=true, defaultValue="csv") protected String transpiledFormatFormat of "transpiled" file ("json" or "csv").
-
unrollExitError
@Parameter(property="eo.unrollExitError") protected boolean unrollExitError
If set to TRUE, the exception on exit will be printed in details to the log.- Since:
- 0.29.0
-
cache
@Parameter(property="eo.cache") protected Path cache
EO cache directory.
-
withVersions
@Parameter(property="eo.withVersions", defaultValue="false") protected boolean withVersionsUsed for object versioning implementation. If set to TRUE - objects are parsed, stored in tojos and processed as versioned.
-
hashes
protected final Map<String,? extends CommitHash> hashes
Commit hashes.
-
placedTojos
protected final PlacedTojos placedTojos
Placed tojos.
-
transpiledTojos
protected final TranspiledTojos transpiledTojos
Cached transpiled tojos.
-
-
Method Detail
-
exec
public void exec() throws IOException- Throws:
IOException
-
execute
public final void execute() throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionExceptionExecute it.- Throws:
org.apache.maven.plugin.MojoFailureException- If fails during buildorg.apache.maven.plugin.MojoExecutionException- If fails during execution
-
scopedTojos
protected final ForeignTojos scopedTojos()
Tojos to use, in my scope only.- Returns:
- Tojos to use
-
-