Package org.eolang.maven
Class AssembleMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.AssembleMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="assemble", defaultPhase=PROCESS_SOURCES, threadSafe=true) public final class AssembleMojo extends org.apache.maven.plugin.AbstractMojo
Pull all necessary EO XML files from Objectionary and parse them all.- Since:
- 0.1
-
-
Field Summary
Fields Modifier and Type Field Description protected File
cache
EO cache directory.protected File
classesDir
Directory where classes are stored in target.static String
EO
Source file extension.protected File
foreign
File with foreign "tojos".protected String
foreignFormat
Format of "foreign" file ("json" or "csv").protected Map<String,? extends CommitHash>
hashes
Commit hashes.protected org.apache.maven.plugin.BuildPluginManager
manager
Maven plugin manager.protected File
placed
The path to a text file where paths of all added .class (and maybe others) files are placed.protected String
placedFormat
Format of "placed" file ("json" or "csv").protected PlacedTojos
placedTojos
Placed tojos.protected org.apache.maven.project.MavenProject
project
Maven project.protected boolean
rewriteBinaries
Rewrite binaries in output directory or not.protected String
scope
Current scope (either "compile" or "test").protected org.apache.maven.execution.MavenSession
session
Maven session.protected File
targetDir
Target directory.protected Integer
timeout
Mojo execution timeout in seconds.protected File
transpiled
The path to a text file where paths of generated java files per EO program.protected String
transpiledFormat
Format of "transpiled" file ("json" or "csv").protected TranspiledTojos
transpiledTojos
Cached transpiled tojos.protected boolean
withVersions
Used for object versioning implementation.static String
XMIR
The intermediate representation extension.protected File
xslMeasures
The path of the file where XSL measurements (time of execution in milliseconds) will be stored.
-
Constructor Summary
Constructors Constructor Description AssembleMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
exec()
void
execute()
Execute it.protected com.yegor256.xsline.Train<com.yegor256.xsline.Shift>
measured(com.yegor256.xsline.Train<com.yegor256.xsline.Shift> train)
Make a measured train from another train.protected ForeignTojos
scopedTojos()
Tojos to use, in my scope only.
-
-
-
Field Detail
-
XMIR
public static final String XMIR
The intermediate representation extension.- See Also:
- Constant Field Values
-
EO
public static final String EO
Source file extension.- See Also:
- Constant Field Values
-
project
@Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject project
Maven project.
-
session
@Parameter(defaultValue="${session}", readonly=true) protected org.apache.maven.execution.MavenSession session
Maven session.
-
manager
@Component protected org.apache.maven.plugin.BuildPluginManager manager
Maven plugin manager.
-
classesDir
@Parameter(defaultValue="${project.build.directory}/classes", readonly=true, required=true) protected File classesDir
Directory where classes are stored in target.
-
foreign
@Parameter(property="eo.foreign", required=true, defaultValue="${project.build.directory}/eo-foreign.csv") protected File foreign
File with foreign "tojos".
-
foreignFormat
@Parameter(property="eo.foreignFormat", required=true, defaultValue="csv") protected String foreignFormat
Format of "foreign" file ("json" or "csv").
-
targetDir
@Parameter(property="eo.targetDir", required=true, defaultValue="${project.build.directory}/eo") protected File targetDir
Target 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 placed
The 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 placedFormat
Format of "placed" file ("json" or "csv").
-
transpiled
@Parameter(property="eo.transpiled", required=true, defaultValue="${project.build.directory}/eo-transpiled.csv") protected File transpiled
The path to a text file where paths of generated java files per EO program.- Since:
- 0.11.0
-
xslMeasures
@Parameter(property="eo.xslMeasuresFile", required=true, defaultValue="${project.build.directory}/eo/xsl-measures.csv") protected File xslMeasures
The path of the file where XSL measurements (time of execution in milliseconds) will be stored.- Since:
- 0.41.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 transpiledFormat
Format of "transpiled" file ("json" or "csv").
-
cache
@Parameter(property="eo.cache") protected File cache
EO cache directory.
-
withVersions
@Parameter(property="eo.withVersions", defaultValue="false") protected boolean withVersions
Used for object versioning implementation. If set to TRUE - objects are parsed, stored in tojos and processed as versioned.
-
rewriteBinaries
@Parameter(property="eo.rewriteBinaries", defaultValue="true") protected boolean rewriteBinaries
Rewrite binaries in output directory or not.- Since:
- 0.32.0
-
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()
-
execute
public final void execute() throws org.apache.maven.plugin.MojoFailureException
Execute it.- Throws:
org.apache.maven.plugin.MojoFailureException
- If fails during build
-
scopedTojos
protected final ForeignTojos scopedTojos()
Tojos to use, in my scope only.- Returns:
- Tojos to use
-
measured
protected final com.yegor256.xsline.Train<com.yegor256.xsline.Shift> measured(com.yegor256.xsline.Train<com.yegor256.xsline.Shift> train)
Make a measured train from another train.- Parameters:
train
- The train- Returns:
- Measured train
-
-