Package org.eolang.maven
Class MjPlace
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.MjPlace
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="place", defaultPhase=PROCESS_SOURCES, threadSafe=true) public final class MjPlace extends org.apache.maven.plugin.AbstractMojo
Take binary files from whereMjResolve
placed them and copy to thetarget/classes
directory.- Since:
- 0.11
- See Also:
- Place catalog
-
-
Field Summary
Fields Modifier and Type Field Description protected File
cache
EO cache directory.protected boolean
cacheEnabled
Use global caching or not.protected BiConsumer<org.apache.maven.model.Dependency,Path>
central
The central.protected File
classesDir
Directory where classes are stored in target.protected boolean
discoverSelf
Shall we discover JAR artifacts for .EO sources?protected boolean
failOnWarning
Whether we should fail on warning.protected File
foreign
File with foreign "tojos".protected String
foreignFormat
Format of "foreign" file ("json" or "csv").protected File
generatedDir
Generated sourced directory.protected org.eolang.maven.CommitHash
hash
The Git hash to pull objects from.protected boolean
ignoreRuntime
Add eo-runtime dependency to the classpath.protected boolean
ignoreTransitive
Fail resolution process on transitive dependencies.protected boolean
ignoreVersionConflicts
Fail resolution process on conflicting dependencies.protected Set<String>
keepBinaries
List of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).protected boolean
lintAsPackage
Whether we should lint all the sources together as package.protected org.apache.maven.plugin.BuildPluginManager
manager
Maven plugin manager.protected boolean
offline
If we are offline and not able to download anything from the internet.protected boolean
overWrite
Pull again even if the .eo file is already present?protected Set<String>
placeBinaries
List of inclusion GLOB filters for finding class files while placing them from where they were resolved to classes directory.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 org.eolang.maven.TjsPlaced
placedTojos
Placed tojos.protected org.apache.maven.plugin.descriptor.PluginDescriptor
plugin
The current version of eo-maven-plugin.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 Set<String>
skipBinaries
List of exclusion GLOB filters for finding class files while placing them from where they were resolved to classed directory.protected boolean
skipExperimentalLints
If set to TRUE, experimental lints are skipped during the linting.protected boolean
skipLinting
Whether we should skip linting at all.protected Set<String>
skipProgramLints
List of WPA lints which must be skipped during the linting.protected Set<String>
skipSourceLints
List of individual lints which must be skipped during the linting.protected boolean
skipZeroVersions
Skip artifact with the version 0.0.0.protected File
sourcesDir
Directory in which .eo files are located.protected String
tag
The Git tag to pull objects from, in objectionary.protected File
targetDir
Target directory.protected Integer
timeout
Mojo execution timeout in seconds.protected boolean
trackTransformationSteps
Track optimization steps into intermediate XMIR files?protected boolean
unrollExitError
If set to TRUE, the exception on exit will be printed in details to the log.protected File
xslMeasures
The path of the file where XSL measurements (time of execution in milliseconds) will be stored.
-
Constructor Summary
Constructors Constructor Description MjPlace()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.eolang.maven.TjsForeign
compileTojos()
Tojos to use, in "compile" scope only.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 org.eolang.maven.TjsForeign
scopedTojos()
Tojos to use, in my scope only.String
toString()
-
-
-
Field Detail
-
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.json") 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").
-
sourcesDir
@Parameter(property="eo.sourcesDir", required=true, defaultValue="${project.basedir}/src/main/eo") protected File sourcesDir
Directory in which .eo files are located.
-
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.json") 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").
-
generatedDir
@Parameter(property="eo.generatedDir", required=true, defaultValue="${project.build.directory}/generated-sources") protected File generatedDir
Generated sourced directory.
-
xslMeasures
@Parameter(property="eo.xslMeasuresFile", required=true, defaultValue="${project.build.directory}/eo/xsl-measures.json") 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
-
trackTransformationSteps
@Parameter(property="eo.trackTransformationSteps", required=true, defaultValue="false") protected boolean trackTransformationSteps
Track optimization steps into intermediate XMIR files?- Since:
- 0.24.0
-
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 File cache
EO cache directory.
-
cacheEnabled
@Parameter(property="eo.cacheEnabled", defaultValue="true") protected boolean cacheEnabled
Use global caching or not.- Since:
- 0.55.0
-
rewriteBinaries
@Parameter(property="eo.rewriteBinaries", defaultValue="true") protected boolean rewriteBinaries
Rewrite binaries in output directory or not.- Since:
- 0.32.0
-
offline
@Parameter(property="eo.offline", required=true, defaultValue="false") protected boolean offline
If we are offline and not able to download anything from the internet.- Since:
- 0.32.0
-
tag
@Parameter(property="eo.tag", required=true, defaultValue="master") protected String tag
The Git tag to pull objects from, in objectionary.- Since:
- 0.21.0
-
skipExperimentalLints
@Parameter(property="eo.skipExperimentalLints", required=true, defaultValue="false") protected boolean skipExperimentalLints
If set to TRUE, experimental lints are skipped during the linting.- Since:
- 0.57.0
-
overWrite
@Parameter(property="eo.overWrite", required=true, defaultValue="false") protected boolean overWrite
Pull again even if the .eo file is already present?- Since:
- 0.10.0
-
skipZeroVersions
@Parameter(property="eo.skipZeroVersions", required=true, defaultValue="true") protected boolean skipZeroVersions
Skip artifact with the version 0.0.0.- Since:
- 0.9.0
-
ignoreVersionConflicts
@Parameter(property="eo.ignoreVersionConflicts", required=true, defaultValue="false") protected boolean ignoreVersionConflicts
Fail resolution process on conflicting dependencies.- Since:
- 0.1.0
-
discoverSelf
@Parameter(property="eo.discoverSelf", required=true, defaultValue="false") protected boolean discoverSelf
Shall we discover JAR artifacts for .EO sources?- Since:
- 0.12.0
-
placeBinaries
@Parameter protected Set<String> placeBinaries
List of inclusion GLOB filters for finding class files while placing them from where they were resolved to classes directory.- Since:
- 0.15
-
skipSourceLints
@Parameter protected Set<String> skipSourceLints
List of individual lints which must be skipped during the linting.- Since:
- 0.57
-
skipProgramLints
@Parameter protected Set<String> skipProgramLints
List of WPA lints which must be skipped during the linting.- Since:
- 0.57
-
skipBinaries
@Parameter protected Set<String> skipBinaries
List of exclusion GLOB filters for finding class files while placing them from where they were resolved to classed directory.- Since:
- 0.15
-
keepBinaries
@Parameter protected Set<String> keepBinaries
List of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).- Since:
- 0.24
- See Also:
- Placing and Unplacing in JAR Artifacts
-
ignoreRuntime
@Parameter(property="eo.ignoreRuntime", required=true, defaultValue="false") protected boolean ignoreRuntime
Add eo-runtime dependency to the classpath.That property is useful only for eo-runtime library compilation. When you compile eo-runtime, you don't want to add eo-runtime from foreign sources (since you compile an eo-runtime library and classpath will anyway have all required classes) and in this case, you should set this property to true. In any other cases, the eo-runtime dependency will be downloaded and added to the classpath automatically.
-
ignoreTransitive
@Parameter(property="eo.ignoreTransitive", required=true, defaultValue="false") protected boolean ignoreTransitive
Fail resolution process on transitive dependencies.
-
failOnWarning
@Parameter(property="eo.failOnWarning", required=true, defaultValue="true") protected boolean failOnWarning
Whether we should fail on warning.
-
lintAsPackage
@Parameter(property="eo.lintAsPackage", required=true, defaultValue="true") protected boolean lintAsPackage
Whether we should lint all the sources together as package.
-
skipLinting
@Parameter(property="eo.skipLinting", required=true, defaultValue="false") protected boolean skipLinting
Whether we should skip linting at all.
-
plugin
@Parameter(defaultValue="${plugin}", readonly=true) protected org.apache.maven.plugin.descriptor.PluginDescriptor plugin
The current version of eo-maven-plugin. Maven 3 only. You can read more about that property here.
-
placedTojos
protected final org.eolang.maven.TjsPlaced placedTojos
Placed tojos.
-
central
protected BiConsumer<org.apache.maven.model.Dependency,Path> central
The central.
-
hash
protected org.eolang.maven.CommitHash hash
The Git hash to pull objects from. If not set, will be computed fromtag
field.
-
-
Method Detail
-
exec
public void exec() throws IOException
- Throws:
IOException
-
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 org.eolang.maven.TjsForeign scopedTojos()
Tojos to use, in my scope only.- Returns:
- Tojos to use
-
compileTojos
protected final org.eolang.maven.TjsForeign compileTojos()
Tojos to use, in "compile" 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
-
-