Package org.eolang.maven
Class MjTranspile
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eolang.maven.MjTranspile
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="transpile", defaultPhase=PROCESS_SOURCES, threadSafe=true, requiresDependencyResolution=COMPILE) public final class MjTranspile extends org.apache.maven.plugin.AbstractMojoTranspile.- Since:
- 0.1
-
-
Field Summary
Fields Modifier and Type Field Description protected FilecacheEO cache directory.protected BiConsumer<org.apache.maven.model.Dependency,Path>centralThe central.protected FileclassesDirDirectory where classes are stored in target.protected booleandiscoverSelfShall we discover JAR artifacts for .EO sources?protected booleanfailOnWarningWhether we should fail on warning.protected FileforeignFile with foreign "tojos".protected StringforeignFormatFormat of "foreign" file ("json" or "csv").protected FilegeneratedDirGenerated sourced directory.protected booleanignoreRuntimeAdd eo-runtime dependency to the classpath.protected booleanignoreTransitiveFail resolution process on transitive dependencies.protected booleanignoreVersionConflictsFail resolution process on conflicting dependencies.protected Set<String>keepBinariesList of inclusion GLOB filters for unplacing and unspiling (ONLY these files will stay).protected booleanlintAsPackageWhether we should lint all the sources together as package.protected org.apache.maven.plugin.BuildPluginManagermanagerMaven plugin manager.protected booleanofflineIf we are offline and not able to download anything from the internet.protected booleanoverWritePull again even if the .eo file is already present?protected Set<String>placeBinariesList of inclusion GLOB filters for finding class files while placing them from where they were resolved to classes directory.protected FileplacedThe path to a text file where paths of all added .class (and maybe others) files are placed.protected StringplacedFormatFormat of "placed" file ("json" or "csv").protected org.eolang.maven.TjsPlacedplacedTojosPlaced tojos.protected org.apache.maven.plugin.descriptor.PluginDescriptorpluginThe current version of eo-maven-plugin.protected org.apache.maven.project.MavenProjectprojectMaven project.protected booleanrewriteBinariesRewrite binaries in output directory or not.protected StringscopeCurrent scope (either "compile" or "test").protected org.apache.maven.execution.MavenSessionsessionMaven session.protected Set<String>skipBinariesList of exclusion GLOB filters for finding class files while placing them from where they were resolved to classed directory.protected booleanskipLintingWhether we should skip linting at all.protected booleanskipZeroVersionsSkip artifact with the version 0.0.0.protected FilesourcesDirDirectory in which .eo files are located.protected StringtagThe Git tag to pull objects from, in objectionary.protected FiletargetDirTarget directory.protected IntegertimeoutMojo execution timeout in seconds.protected booleantrackTransformationStepsTrack optimization steps into intermediate XMIR files?protected FiletranspiledThe path to a text file where paths of generated java files per EO program.protected StringtranspiledFormatFormat of "transpiled" file ("json" or "csv").protected org.eolang.maven.TjsTranspiledtranspiledTojosCached transpiled tojos.protected booleanunrollExitErrorIf set to TRUE, the exception on exit will be printed in details to the log.protected FilexslMeasuresThe path of the file where XSL measurements (time of execution in milliseconds) will be stored.
-
Constructor Summary
Constructors Constructor Description MjTranspile()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.eolang.maven.TjsForeigncompileTojos()Tojos to use, in "compile" scope only.voidexec()voidexecute()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.TjsForeignscopedTojos()Tojos to use, in my scope only.StringtoString()
-
-
-
Field Detail
-
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 manager
Maven 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
@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 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").
-
transpiled
@Parameter(property="eo.transpiled", required=true, defaultValue="${project.build.directory}/eo-transpiled.json") protected File transpiledThe path to a text file where paths of generated java files per EO program.- Since:
- 0.11.0
-
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
@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 transpiledFormatFormat of "transpiled" file ("json" or "csv").
-
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 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 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
@Parameter(property="eo.tag", required=true, defaultValue="master") protected String tagThe Git tag to pull objects from, in objectionary.- Since:
- 0.21.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
@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
-
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 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 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
-
exec
public void exec() throws IOException- Throws:
IOException
-
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
-
-