Package org.codehaus.gmavenplus.mojo
Class AbstractToolsMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
-
- org.codehaus.gmavenplus.mojo.AbstractToolsMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
ConsoleMojo
,ExecuteMojo
,ShellMojo
public abstract class AbstractToolsMojo extends AbstractGroovyMojo
The base tools mojo, which all tool mojos extend. Note that it references the plugin classloader to pull in dependencies Groovy didn't include (for things like Ant for AntBuilder, Ivy for @grab, and Jansi for Groovysh). Note that using theant
property requires Java 8, as the included Ant version was compiled for Java 8.- Since:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
allowSystemExits
Whether to allow System.exit() to be used.protected boolean
bindAllProjectProperties
Whether to add all properties fromproject.properties
into properties.protected boolean
bindAllSessionUserProperties
Whether to add all properties fromsession.userProperties
into properties.protected boolean
bindPropertiesToSeparateVariables
Whether to bind each property to a separate variable (otherwise binds properties to a single 'properties' variable).protected boolean
bindSessionUserOverrideProperties
Whether to add user session properties fromsession.userProperties
that override project properties into properties.protected IncludeClasspath
includeClasspath
What classpath to include.protected org.apache.maven.project.MavenProjectHelper
projectHelper
Maven ProjectHelper to use in properties.protected java.util.Properties
properties
Properties to make available in scripts as variables using the property name.-
Fields inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
classWrangler, GROOVY_1_5_0, GROOVY_SOURCES_PATTERN, JAVA_1_7, JAVA_1_8, JAVA_12, JAVA_SOURCES_PATTERN, minGroovyVersion, mojoExecution, pluginArtifacts, project, session
-
-
Constructor Summary
Constructors Constructor Description AbstractToolsMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
initializeProperties()
Initializes the properties field.protected void
logUnableToInitializeAntBuilder(java.lang.Throwable e)
Logs errors that caused the 'ant' object to not be populated.-
Methods inherited from class org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
getJavaVersion, getJavaVersionString, groovyAtLeast, groovyIs, groovyNewerThan, groovyOlderThan, groovyVersionSupportsAction, isGroovyIndy, isJavaSupportIndy, isJavaSupportParameters, isJavaSupportPreviewFeatures, logPluginClasspath, setupClassWrangler
-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
projectHelper
@Component protected org.apache.maven.project.MavenProjectHelper projectHelper
Maven ProjectHelper to use in properties.- Since:
- 1.3
-
properties
@Parameter protected java.util.Properties properties
Properties to make available in scripts as variables using the property name. By default will include- project
- A org.apache.maven.project.Project object of the current Maven project.
- session
- A org.apache.maven.execution.MavenSession object of the current Maven session.
- pluginArtifacts
- A list of org.apache.maven.artifact.Artifact objects of this plugin's artifacts.
- mojoExecution
- A org.apache.maven.plugin.MojoExecution object of this plugin's mojo execution.
- log
- A org.apache.maven.plugin.logging.Log object of Maven's log.
- ant
- A groovy.util.AntBuilder object (if groovy.ant.AntBuilder or groovy.util.AntBuilder is available).
- Since:
- 1.0-beta-3
-
allowSystemExits
@Parameter(defaultValue="true") protected boolean allowSystemExits
Whether to allow System.exit() to be used. Should not be set tofalse
when using parallel execution, as it isn't thread-safe.- Since:
- 1.2
-
bindPropertiesToSeparateVariables
@Parameter(defaultValue="true") protected boolean bindPropertiesToSeparateVariables
Whether to bind each property to a separate variable (otherwise binds properties to a single 'properties' variable).- Since:
- 1.2
-
includeClasspath
@Parameter(defaultValue="PROJECT_AND_PLUGIN") protected IncludeClasspath includeClasspath
What classpath to include. One of- PROJECT_ONLY
- PROJECT_AND_PLUGIN
- PLUGIN_ONLY
- Since:
- 1.8.0
-
bindAllProjectProperties
@Parameter(defaultValue="false") protected boolean bindAllProjectProperties
Whether to add all properties fromproject.properties
into properties.- Since:
- 1.10.1
-
bindSessionUserOverrideProperties
@Parameter(defaultValue="false") protected boolean bindSessionUserOverrideProperties
Whether to add user session properties fromsession.userProperties
that override project properties into properties.bindAllSessionUserProperties
takes priority over this property if present. Has no effect ifbindAllProjectProperties
isfalse
.- Since:
- 1.10.1
-
bindAllSessionUserProperties
@Parameter(defaultValue="false") protected boolean bindAllSessionUserProperties
Whether to add all properties fromsession.userProperties
into properties. If bothbindAllProjectProperties
andbindAllSessionUserProperties
are specified, the session properties will override the project properties, but it will also include properties not present in project properties. To only include user session properties that are also in project properties, usebindSessionUserOverrideProperties
.- Since:
- 1.10.1
-
-
Method Detail
-
initializeProperties
protected void initializeProperties()
Initializes the properties field.
-
logUnableToInitializeAntBuilder
protected void logUnableToInitializeAntBuilder(java.lang.Throwable e)
Logs errors that caused the 'ant' object to not be populated.- Parameters:
e
- the exception causing the failure
-
-