Package org.eolang.maven
Class LintMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.LintMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="lint", defaultPhase=PROCESS_SOURCES, threadSafe=true) public final class LintMojo extends org.apache.maven.plugin.AbstractMojo
Mojo that runs all lints and checks errors and warnings, preferably after theassemble
goal.- Since:
- 0.31.0
-
-
Field Summary
Fields Modifier and Type Field Description protected File
cache
EO cache directory.protected BiConsumer<org.apache.maven.model.Dependency,Path>
central
The central.protected File
classesDir
Directory where classes are stored in target.static String
DIR
The directory where to transpile to.protected boolean
discoverSelf
Shall we discover JAR artifacts for .EO sources?protected Set<String>
excludeBinaries
List of exclusion GLOB filters for finding class files.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 boolean
ignoreTransitive
Fail resolution process on transitive dependencies.protected boolean
ignoreVersionConflicts
Fail resolution process on conflicting dependencies.protected Set<String>
includeBinaries
List of inclusion GLOB filters for finding class files.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 File
outputDir
Output.protected boolean
overWrite
Pull again even if the .eo file is already present?protected boolean
placeBinariesThatHaveSources
Place only binaries that have EO sources inside jar.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 boolean
skipLinting
Whether we should skip linting at all.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 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 org.eolang.maven.TjsTranspiled
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
withRuntimeDependency
Add eo-runtime dependency to the classpath.protected File
xslMeasures
The path of the file where XSL measurements (time of execution in milliseconds) will be stored.
-
Constructor Summary
Constructors Constructor Description LintMojo()
-
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
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
-
DIR
public static final String DIR
The directory where to transpile 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.
-
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.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").
-
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.
-
outputDir
@Parameter(property="eo.outputDir", required=true, defaultValue="${project.build.outputDirectory}") protected File outputDir
Output.
-
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
-
xslMeasures
@Parameter(property="eo.xslMeasuresFile", required=true, defaultValue="${project.build.directory}/eo/xsl-measures.csv") 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
-
transpiledFormat
@Parameter(property="eo.transpiledFormat", required=true, defaultValue="csv") protected String transpiledFormat
Format of "transpiled" file ("json" or "csv").
-
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.
-
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
-
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
-
placeBinariesThatHaveSources
@Parameter protected boolean placeBinariesThatHaveSources
Place only binaries that have EO sources inside jar.- Since:
- 0.31
-
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
-
includeBinaries
@Parameter protected Set<String> includeBinaries
List of inclusion GLOB filters for finding class files.- Since:
- 0.15
-
excludeBinaries
@Parameter protected Set<String> excludeBinaries
List of exclusion GLOB filters for finding class files.- Since:
- 0.15
-
withRuntimeDependency
@Parameter(property="eo.ignoreRuntime", required=true, defaultValue="true") protected boolean withRuntimeDependency
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 false. 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.
-
transpiledTojos
protected final org.eolang.maven.TjsTranspiled transpiledTojos
Cached transpiled tojos.
-
central
protected BiConsumer<org.apache.maven.model.Dependency,Path> central
The central.
-
-
Method Detail
-
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
-
-