Package org.codehaus.gmavenplus.mojo
Class AbstractGroovyMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.codehaus.gmavenplus.mojo.AbstractGroovyMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
AbstractGroovySourcesMojo,AbstractToolsMojo
public abstract class AbstractGroovyMojo extends org.apache.maven.plugin.AbstractMojoThe base mojo class, which all other mojos extend.- Since:
- 1.0-beta-1
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassWranglerclassWranglerThe wrangler to use to work with Groovy classes, classpaths, classLoaders, and versions.protected static VersionGROOVY_1_5_0Groovy 1.5.0 version.protected static java.lang.StringGROOVY_SOURCES_PATTERNThe pattern defining Groovy files.protected static VersionJAVA_1_7Java 1.7 version.protected static VersionJAVA_1_8Java 1.8 version.protected static VersionJAVA_12Java 1.8 version.protected static java.lang.StringJAVA_SOURCES_PATTERNThe pattern defining Java stub files.protected VersionminGroovyVersionThe minimum version of Groovy that this mojo supports (1.5.0 by default, but other mojos can override).protected org.apache.maven.plugin.MojoExecutionmojoExecutionThe plugin's mojo execution.protected java.util.List<org.apache.maven.artifact.Artifact>pluginArtifactsThe plugin dependencies.protected org.apache.maven.project.MavenProjectprojectThe Maven project this plugin is being used on.protected org.apache.maven.execution.MavenSessionsessionThe Maven Session this plugin is being used on.
-
Constructor Summary
Constructors Constructor Description AbstractGroovyMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VersiongetJavaVersion()Gets the version of Java executing this mojo as a Version object.protected java.lang.StringgetJavaVersionString()Gets the version of Java executing this mojo as a String.protected booleangroovyAtLeast(Version version)Determines whether the detected Groovy version is the specified version or newer.protected booleangroovyIs(Version version)Determines whether the detected Groovy version is the specified version.protected booleangroovyNewerThan(Version version)Determines whether the detected Groovy version is newer than the specified version.protected booleangroovyOlderThan(Version version)Determines whether the detected Groovy version is older than the specified version.protected booleangroovyVersionSupportsAction()Determines whether this mojo can be run with the version of Groovy supplied.protected booleanisGroovyIndy()Gets whether the version of Groovy on the classpath supports invokedynamic.protected booleanisJavaSupportIndy()Determines whether the version of Java executing this mojo supports invokedynamic (is at least 1.7).protected booleanisJavaSupportParameters()Determines whether the version of Java executing this mojo supports JEP 118 (is at least 1.8).protected booleanisJavaSupportPreviewFeatures()Determines whether the version of Java executing this mojo supports preview features (is at least 12).protected voidlogPluginClasspath()Logs the plugin classpath.protected voidsetupClassWrangler(java.util.List<?> classpath, IncludeClasspath includeClasspath)Instantiate a ClassWrangler.-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
GROOVY_SOURCES_PATTERN
protected static final java.lang.String GROOVY_SOURCES_PATTERN
The pattern defining Groovy files.
-
JAVA_SOURCES_PATTERN
protected static final java.lang.String JAVA_SOURCES_PATTERN
The pattern defining Java stub files.
-
JAVA_1_7
protected static final Version JAVA_1_7
Java 1.7 version.
-
JAVA_1_8
protected static final Version JAVA_1_8
Java 1.8 version.
-
JAVA_12
protected static final Version JAVA_12
Java 1.8 version.
-
GROOVY_1_5_0
protected static final Version GROOVY_1_5_0
Groovy 1.5.0 version.
-
classWrangler
protected ClassWrangler classWrangler
The wrangler to use to work with Groovy classes, classpaths, classLoaders, and versions.
-
project
@Parameter(property="project", required=true, readonly=true) protected org.apache.maven.project.MavenProject projectThe Maven project this plugin is being used on.
-
session
@Parameter(property="session", required=true, readonly=true) protected org.apache.maven.execution.MavenSession sessionThe Maven Session this plugin is being used on.
-
pluginArtifacts
@Parameter(property="plugin.artifacts", required=true, readonly=true) protected java.util.List<org.apache.maven.artifact.Artifact> pluginArtifactsThe plugin dependencies.
-
mojoExecution
@Parameter(property="mojoExecution", required=true, readonly=true) protected org.apache.maven.plugin.MojoExecution mojoExecutionThe plugin's mojo execution.
-
minGroovyVersion
protected Version minGroovyVersion
The minimum version of Groovy that this mojo supports (1.5.0 by default, but other mojos can override).
-
-
Method Detail
-
logPluginClasspath
protected void logPluginClasspath()
Logs the plugin classpath.
-
isJavaSupportIndy
protected boolean isJavaSupportIndy()
Determines whether the version of Java executing this mojo supports invokedynamic (is at least 1.7).- Returns:
trueif the running Java supports invokedynamic,falseotherwise
-
isJavaSupportPreviewFeatures
protected boolean isJavaSupportPreviewFeatures()
Determines whether the version of Java executing this mojo supports preview features (is at least 12).- Returns:
trueif the running Java supports preview features,falseotherwise
-
isJavaSupportParameters
protected boolean isJavaSupportParameters()
Determines whether the version of Java executing this mojo supports JEP 118 (is at least 1.8).- Returns:
trueif the running Java supports parameters,falseotherwise
-
getJavaVersion
protected Version getJavaVersion()
Gets the version of Java executing this mojo as a Version object.- Returns:
- a Version object of the running Java version
-
getJavaVersionString
protected java.lang.String getJavaVersionString()
Gets the version of Java executing this mojo as a String.- Returns:
- a String of the running Java version
-
groovyVersionSupportsAction
protected boolean groovyVersionSupportsAction()
Determines whether this mojo can be run with the version of Groovy supplied.- Returns:
trueonly if the version of Groovy supports this mojo
-
groovyAtLeast
protected boolean groovyAtLeast(Version version)
Determines whether the detected Groovy version is the specified version or newer.- Parameters:
version- the version to compare the detected Groovy version to- Returns:
trueif the detected Groovy version is the specified version or newer,falseotherwise
-
groovyIs
protected boolean groovyIs(Version version)
Determines whether the detected Groovy version is the specified version.- Parameters:
version- the version to compare the detected Groovy version to- Returns:
trueif the detected Groovy version is the specified version,falseotherwise
-
groovyNewerThan
protected boolean groovyNewerThan(Version version)
Determines whether the detected Groovy version is newer than the specified version.- Parameters:
version- the version to compare the detected Groovy version to- Returns:
trueif the detected Groovy version is newer than the specified version,falseotherwise
-
groovyOlderThan
protected boolean groovyOlderThan(Version version)
Determines whether the detected Groovy version is older than the specified version.- Parameters:
version- the version to compare the detected Groovy version to- Returns:
trueif the detected Groovy version is older than the specified version,falseotherwise
-
isGroovyIndy
protected boolean isGroovyIndy()
Gets whether the version of Groovy on the classpath supports invokedynamic.- Returns:
trueif the version of Groovy uses invokedynamic,falseif not or Groovy dependency cannot be found
-
setupClassWrangler
protected void setupClassWrangler(java.util.List<?> classpath, IncludeClasspath includeClasspath) throws java.net.MalformedURLExceptionInstantiate a ClassWrangler.- Parameters:
classpath- the classpath to load onto a new classloader (if includeClasspath isPROJECT_ONLY)includeClasspath- whether to use a shared classloader that includes both the project classpath and plugin classpath.- Throws:
java.net.MalformedURLException- when a classpath element provides a malformed URL
-
-