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.
This goal combines MjAssemble, MjLint, MjResolve and
MjPlace goals.
See their documentation to find out more details.
The MjCompile is useful to run the whole compilation process in one go without
the need to call each goal separately.
- 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 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.protected org.apache.maven.settings.SettingsMaven settings.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 org.eclipse.aether.RepositorySystemMaven Resolver repository system.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.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
session
@Parameter(defaultValue="${session}", readonly=true) protected org.apache.maven.execution.MavenSession sessionMaven session.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
manager
@Component protected org.apache.maven.plugin.BuildPluginManager managerMaven plugin manager.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
system
@Component protected org.eclipse.aether.RepositorySystem systemMaven Resolver repository system.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
classesDir
@Parameter(defaultValue="${project.build.directory}/classes", readonly=true, required=true) protected File classesDirDirectory where classes are stored in target.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines), MemberNameCheck (8 lines)
-
foreign
@Parameter(property="eo.foreign", required=true, defaultValue="${project.build.directory}/eo-foreign.json") protected File foreignFile with foreign "tojos".- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines)
-
foreignFormat
@Parameter(property="eo.foreignFormat", required=true, defaultValue="csv") protected String foreignFormatFormat of "foreign" file ("json" or "csv").- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
sourcesDir
@Parameter(property="eo.sourcesDir", required=true, defaultValue="${project.basedir}/src/main/eo") protected File sourcesDirDirectory in which .eo files are located.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines), MemberNameCheck (8 lines)
-
targetDir
@Parameter(property="eo.targetDir", required=true, defaultValue="${project.build.directory}/eo") protected File targetDirTarget directory.- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (10 lines)
-
scope
Current scope (either "compile" or "test").- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
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
- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (10 lines)
-
placedFormat
@Parameter(property="eo.placedFormat", required=true, defaultValue="json") protected String placedFormatFormat of "placed" file ("json" or "csv").- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
generatedDir
@Parameter(property="eo.generatedDir", required=true, defaultValue="${project.build.directory}/generated-sources") protected File generatedDirGenerated sourced directory.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines), MemberNameCheck (7 lines)
-
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
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (10 lines)
-
timeout
Mojo execution timeout in seconds.- Since:
- 0.28.12
- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines)
-
trackTransformationSteps
@Parameter(property="eo.trackTransformationSteps", required=true, defaultValue="false") protected boolean trackTransformationStepsTrack optimization steps into intermediate XMIR files?- Since:
- 0.24.0
- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
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
- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (10 lines)
-
cache
EO cache directory.- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (10 lines)
-
cacheEnabled
@Parameter(property="eo.cacheEnabled", defaultValue="true") protected boolean cacheEnabledUse global caching or not.- Since:
- 0.55.0
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
rewriteBinaries
@Parameter(property="eo.rewriteBinaries", defaultValue="true") protected boolean rewriteBinariesRewrite binaries in output directory or not.- Since:
- 0.32.0
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
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
- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines), MemberNameCheck (8 lines)
-
tag
The Git tag to pull objects from, in objectionary.- Since:
- 0.21.0
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
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
- Suppressed Checkstyle violations:
- VisibilityModifierCheck (10 lines), MemberNameCheck (7 lines)
-
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
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
skipZeroVersions
@Parameter(property="eo.skipZeroVersions", required=true, defaultValue="true") protected boolean skipZeroVersionsSkip artifact with the version 0.0.0.- Since:
- 0.9.0
- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
ignoreVersionConflicts
@Parameter(property="eo.ignoreVersionConflicts", required=true, defaultValue="false") protected boolean ignoreVersionConflictsFail resolution process on conflicting dependencies.- Since:
- 0.1.0
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
discoverSelf
@Parameter(property="eo.discoverSelf", required=true, defaultValue="false") protected boolean discoverSelfShall we discover JAR artifacts for .EO sources?- Since:
- 0.12.0
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
placeBinaries
List of inclusion GLOB filters for finding class files while placing them from where they were resolved to classes directory.- Since:
- 0.15
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
skipSourceLints
List of individual lints which must be skipped during the linting.- Since:
- 0.57
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
skipProgramLints
List of WPA lints which must be skipped during the linting.- Since:
- 0.57
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
skipBinaries
List of exclusion GLOB filters for finding class files while placing them from where they were resolved to classed directory.- Since:
- 0.15
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
keepBinaries
List of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).- Since:
- 0.24
- See Also:
- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (7 lines)
-
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.
- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
failOnWarning
@Parameter(property="eo.failOnWarning", required=true, defaultValue="true") protected boolean failOnWarningWhether we should fail on warning.- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
lintAsPackage
@Parameter(property="eo.lintAsPackage", required=true, defaultValue="true") protected boolean lintAsPackageWhether we should lint all the sources together as package.- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
skipLinting
@Parameter(property="eo.skipLinting", required=true, defaultValue="false") protected boolean skipLintingWhether we should skip linting at all.- Suppressed Checkstyle violations:
- MemberNameCheck (10 lines), VisibilityModifierCheck (7 lines)
-
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.- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (7 lines)
-
settings
@Parameter(defaultValue="${settings}", readonly=true) protected org.apache.maven.settings.Settings settingsMaven settings.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
placedTojos
protected final org.eolang.maven.TjsPlaced placedTojosPlaced tojos.- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
central
The central.- Suppressed Checkstyle violations:
- MemberNameCheck (7 lines), VisibilityModifierCheck (5 lines)
-
hash
protected org.eolang.maven.CommitHash hashThe Git hash to pull objects from. If not set, will be computed fromtagfield.- Suppressed Checkstyle violations:
- VisibilityModifierCheck (5 lines)
-
-
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- Suppressed Checkstyle violations:
- NoJavadocForOverriddenMethodsCheck (10 lines), CyclomaticComplexityCheck (70 lines)
-
scopedTojos
protected final org.eolang.maven.TjsForeign scopedTojos()Tojos to use, in my scope only.- Returns:
- Tojos to use
- Suppressed Checkstyle violations:
- AnonInnerLengthCheck (100 lines)
-
compileTojos
protected final org.eolang.maven.TjsForeign compileTojos()Tojos to use, in "compile" scope only.- Returns:
- Tojos to use
- Suppressed Checkstyle violations:
- AnonInnerLengthCheck (100 lines)
-
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
-