Package org.eolang.maven
Class MjCompile
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.eolang.maven.MjCompile
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="compile",
defaultPhase=PROCESS_SOURCES,
threadSafe=true)
public final class MjCompile
extends org.apache.maven.plugin.AbstractMojo
Compile and lint all EO files.
- Since:
- 0.52
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FileEO cache directory.protected booleanUse global caching or not.protected BiConsumer<org.apache.maven.model.Dependency,Path> The central.protected FileDirectory where classes are stored in target.protected booleanShall we discover JAR artifacts for .EO sources?protected booleanWhether we should fail on warning.protected FileFile with foreign "tojos".protected StringFormat of "foreign" file ("json" or "csv").protected FileGenerated sourced directory.protected org.eolang.maven.CommitHashThe Git hash to pull objects from.protected booleanAdd eo-runtime dependency to the classpath.protected booleanFail resolution process on transitive dependencies.protected booleanFail resolution process on conflicting dependencies.List of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).protected booleanWhether we should lint all the sources together as package.protected org.apache.maven.plugin.BuildPluginManagerMaven plugin manager.protected booleanIf we are offline and not able to download anything from the internet.protected booleanPull again even if the .eo file is already present?List of inclusion GLOB filters for finding class files while placing them from where they were resolved to classes directory.protected FileThe path to a text file where paths of all added .class (and maybe others) files are placed.protected StringFormat of "placed" file ("json" or "csv").protected final org.eolang.maven.TjsPlacedPlaced tojos.protected org.apache.maven.plugin.descriptor.PluginDescriptorThe current version of eo-maven-plugin.protected org.apache.maven.project.MavenProjectMaven project.protected booleanRewrite binaries in output directory or not.protected StringCurrent scope (either "compile" or "test").protected org.apache.maven.execution.MavenSessionMaven session.List of exclusion GLOB filters for finding class files while placing them from where they were resolved to classed directory.protected booleanIf set to TRUE, experimental lints are skipped during the linting.protected booleanWhether we should skip linting at all.List of WPA lints which must be skipped during the linting.List of individual lints which must be skipped during the linting.protected booleanSkip artifact with the version 0.0.0.protected FileDirectory in which .eo files are located.protected StringThe Git tag to pull objects from, in objectionary.protected FileTarget directory.protected IntegerMojo execution timeout in seconds.protected booleanTrack optimization steps into intermediate XMIR files?protected booleanIf set to TRUE, the exception on exit will be printed in details to the log.protected FileThe path of the file where XSL measurements (time of execution in milliseconds) will be stored.Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final org.eolang.maven.TjsForeignTojos to use, in "compile" scope only.voidexec()final voidexecute()Execute it.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.protected final org.eolang.maven.TjsForeignTojos to use, in my scope only.toString()Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
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 managerMaven plugin manager. -
classesDir
@Parameter(defaultValue="${project.build.directory}/classes", readonly=true, required=true) protected File classesDirDirectory where classes are stored in target. -
foreign
@Parameter(property="eo.foreign", required=true, defaultValue="${project.build.directory}/eo-foreign.json") protected File foreignFile with foreign "tojos". -
foreignFormat
@Parameter(property="eo.foreignFormat", required=true, defaultValue="csv") protected String foreignFormatFormat of "foreign" file ("json" or "csv"). -
sourcesDir
@Parameter(property="eo.sourcesDir", required=true, defaultValue="${project.basedir}/src/main/eo") protected File sourcesDirDirectory in which .eo files are located. -
targetDir
@Parameter(property="eo.targetDir", required=true, defaultValue="${project.build.directory}/eo") protected File targetDirTarget directory. -
scope
Current scope (either "compile" or "test"). -
placed
@Parameter(property="eo.placed", required=true, defaultValue="${project.build.directory}/eo-placed.json") 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"). -
generatedDir
@Parameter(property="eo.generatedDir", required=true, defaultValue="${project.build.directory}/generated-sources") protected File generatedDirGenerated sourced directory. -
xslMeasures
@Parameter(property="eo.xslMeasuresFile", required=true, defaultValue="${project.build.directory}/eo/xsl-measures.json") protected File xslMeasuresThe path of the file where XSL measurements (time of execution in milliseconds) will be stored.- Since:
- 0.41.0
-
timeout
Mojo execution timeout in seconds.- Since:
- 0.28.12
-
trackTransformationSteps
@Parameter(property="eo.trackTransformationSteps", required=true, defaultValue="false") protected boolean trackTransformationStepsTrack optimization steps into intermediate XMIR files?- Since:
- 0.24.0
-
unrollExitError
@Parameter(property="eo.unrollExitError") protected boolean unrollExitErrorIf set to TRUE, the exception on exit will be printed in details to the log.- Since:
- 0.29.0
-
cache
EO cache directory. -
cacheEnabled
@Parameter(property="eo.cacheEnabled", defaultValue="true") protected boolean cacheEnabledUse global caching or not.- Since:
- 0.55.0
-
rewriteBinaries
@Parameter(property="eo.rewriteBinaries", defaultValue="true") protected boolean rewriteBinariesRewrite binaries in output directory or not.- Since:
- 0.32.0
-
offline
@Parameter(property="eo.offline", required=true, defaultValue="false") protected boolean offlineIf we are offline and not able to download anything from the internet.- Since:
- 0.32.0
-
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 skipExperimentalLintsIf 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 overWritePull again even if the .eo file is already present?- Since:
- 0.10.0
-
skipZeroVersions
@Parameter(property="eo.skipZeroVersions", required=true, defaultValue="true") protected boolean skipZeroVersionsSkip artifact with the version 0.0.0.- Since:
- 0.9.0
-
ignoreVersionConflicts
@Parameter(property="eo.ignoreVersionConflicts", required=true, defaultValue="false") protected boolean ignoreVersionConflictsFail resolution process on conflicting dependencies.- Since:
- 0.1.0
-
discoverSelf
@Parameter(property="eo.discoverSelf", required=true, defaultValue="false") protected boolean discoverSelfShall we discover JAR artifacts for .EO sources?- Since:
- 0.12.0
-
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
List of individual lints which must be skipped during the linting.- Since:
- 0.57
-
skipProgramLints
List of WPA lints which must be skipped during the linting.- Since:
- 0.57
-
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
List of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).- Since:
- 0.24
- See Also:
-
ignoreRuntime
@Parameter(property="eo.ignoreRuntime", required=true, defaultValue="false") protected boolean ignoreRuntimeAdd 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 ignoreTransitiveFail resolution process on transitive dependencies. -
failOnWarning
@Parameter(property="eo.failOnWarning", required=true, defaultValue="true") protected boolean failOnWarningWhether we should fail on warning. -
lintAsPackage
@Parameter(property="eo.lintAsPackage", required=true, defaultValue="true") protected boolean lintAsPackageWhether we should lint all the sources together as package. -
skipLinting
@Parameter(property="eo.skipLinting", required=true, defaultValue="false") protected boolean skipLintingWhether we should skip linting at all. -
plugin
@Parameter(defaultValue="${plugin}", readonly=true) protected org.apache.maven.plugin.descriptor.PluginDescriptor pluginThe current version of eo-maven-plugin. Maven 3 only. You can read more about that property here. -
placedTojos
protected final org.eolang.maven.TjsPlaced placedTojosPlaced tojos. -
central
The central. -
hash
protected org.eolang.maven.CommitHash hashThe Git hash to pull objects from. If not set, will be computed fromtagfield.
-
-
Constructor Details
-
MjCompile
public MjCompile()
-
-
Method Details
-
exec
public void exec() -
toString
-
execute
public final void execute() throws org.apache.maven.plugin.MojoFailureExceptionExecute 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
-