Package org.eolang.maven
Class VersionsMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.VersionsMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
public final class VersionsMojo extends org.apache.maven.plugin.AbstractMojoFind all object versions as semver in.xmirand replace them with appropriate narrow GitHub release hashes (7 lines) from Objectionary. The motivation of the mojo is to provide a safe and convenient way to resolve object versions that are used in Java class names and paths to the source files.- Since:
- 0.29.6
- See Also:
- Tags
-
-
Field Summary
Fields Modifier and Type Field Description protected PathcacheEO cache directory.protected FileexternalFile with external "tojos".protected ForeignTojosexternalTojosExternal tojos.protected FileforeignFile with foreign "tojos".protected StringforeignFormatFormat of "foreign" file ("json" or "csv").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 VersionsMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute()Execute it.protected ForeignTojosscopedTojos()Tojos to use, in my scope only.
-
-
-
Field Detail
-
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".
-
external
@Parameter(property="eo.external", required=true, defaultValue="${project.build.directory}/eo-external.csv") protected File externalFile with external "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, external tojos are used instead of foreign ones and all inherited Mojos behave a bit differently.
-
externalTojos
protected final ForeignTojos externalTojos
External tojos.
-
placedTojos
protected final PlacedTojos placedTojos
Placed tojos.
-
transpiledTojos
protected final TranspiledTojos transpiledTojos
Cached transpiled tojos.
-
-
Method Detail
-
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
-
-