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.AbstractMojo
Find 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 for adding .JAR files to transpile/test classpath in runtime.- Since:
- 0.1
-
-
Field Summary
Fields Modifier and Type Field Description protected Path
cache
EO cache directory.static String
DIR
The directory where to resolve to.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
unrollExitError
If set to TRUE, the exception on exit will be printed in details to the log.protected boolean
withVersions
Used for object versioning implementation.
-
Constructor Summary
Constructors Constructor Description ResolveMojo()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
exec()
void
execute()
Execute it.static boolean
isRuntime(org.apache.maven.model.Dependency dep)
Checks if dependency is runtime.protected ForeignTojos
scopedTojos()
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 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.
-
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
-
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").
-
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 withVersions
Used for object versioning implementation. If set to TRUE - objects are parsed, stored in tojos and processed as versioned.
-
rewriteBinaries
@Parameter(property="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()
-
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
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
-
-