Package org.eolang.maven
Class ResolveMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.ResolveMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="resolve", defaultPhase=PROCESS_SOURCES, threadSafe=true) public final class ResolveMojo extends org.apache.maven.plugin.AbstractMojoFind all required runtime dependencies, download them from Maven Central, unpack and place to target/eo. The motivation for this mojo is simple: Maven doesn't have a mechanism of adding .JAR files to transpile/test classpath in runtime.- Since:
- 0.1
-
-
Field Summary
Fields Modifier and Type Field Description protected PathcacheEO cache directory.static StringDIRThe directory where to resolve to.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 ForeignTojostojosCached tojos.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.
-
Constructor Summary
Constructors Constructor Description ResolveMojo()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexec()voidexecute()static booleanisRuntime(org.apache.maven.model.Dependency dep)Checks if dependency is runtime.protected ForeignTojosscopedTojos()Tojos to use, in my scope only.
-
-
-
Field Detail
-
DIR
public static final String DIR
The directory where to resolve 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.
-
tojos
protected final ForeignTojos tojos
Cached tojos.
-
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
-
isRuntime
public static boolean isRuntime(org.apache.maven.model.Dependency dep)
Checks if dependency is runtime.- Parameters:
dep- Dependency- Returns:
- True if runtime.
-
execute
public final void execute() throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoFailureExceptionorg.apache.maven.plugin.MojoExecutionException
-
scopedTojos
protected final ForeignTojos scopedTojos()
Tojos to use, in my scope only.- Returns:
- Tojos to use
-
-