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.AbstractMojo
The base mojo class, which all other mojos extend.
Since:
1.0-beta-1
Author:
Keegan Witt
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected ClassWrangler
    The wrangler to use to work with Groovy classes, classpaths, classLoaders, and versions.
    protected static final Version
    Groovy 1.5.0 version.
    protected static final String
    The pattern defining Groovy files.
    protected static final Version
    Java 1.7 version.
    protected static final Version
    Java 1.8 version.
    protected static final Version
    Java 1.8 version.
    protected static final String
    The pattern defining Java stub files.
    protected Version
    The minimum version of Groovy that this mojo supports (1.5.0 by default, but other mojos can override).
    protected org.apache.maven.plugin.MojoExecution
    The plugin's mojo execution.
    protected List<org.apache.maven.artifact.Artifact>
    The plugin dependencies.
    protected org.apache.maven.project.MavenProject
    The Maven project this plugin is being used on.
    protected org.apache.maven.execution.MavenSession
    The Maven Session this plugin is being used on.

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Version
    Gets the version of Java executing this mojo as a Version object.
    protected String
    Gets the version of Java executing this mojo as a String.
    protected boolean
    Determines whether the detected Groovy version is the specified version or newer.
    protected boolean
    groovyIs(Version version)
    Determines whether the detected Groovy version is the specified version.
    protected boolean
    Determines whether the detected Groovy version is newer than the specified version.
    protected boolean
    Determines whether the detected Groovy version is older than the specified version.
    protected boolean
    Determines whether this mojo can be run with the version of Groovy supplied.
    protected boolean
    Gets whether the version of Groovy on the classpath supports invokedynamic.
    protected boolean
    Determines whether the version of Java executing this mojo supports invokedynamic (is at least 1.7).
    protected boolean
    Determines whether the version of Java executing this mojo supports JEP 118 (is at least 1.8).
    protected boolean
    Determines whether the version of Java executing this mojo supports preview features (is at least 12).
    protected void
    Logs the plugin classpath.
    protected void
    setupClassWrangler(List<?> classpath, IncludeClasspath includeClasspath)
    Instantiate a ClassWrangler.

    Methods inherited from class org.apache.maven.plugin.AbstractMojo

    getLog, getPluginContext, setLog, setPluginContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.maven.plugin.Mojo

    execute
  • Field Details

    • GROOVY_SOURCES_PATTERN

      protected static final String GROOVY_SOURCES_PATTERN
      The pattern defining Groovy files.
    • JAVA_SOURCES_PATTERN

      protected static final 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 project
      The Maven project this plugin is being used on.
    • session

      @Parameter(property="session", required=true, readonly=true) protected org.apache.maven.execution.MavenSession session
      The Maven Session this plugin is being used on.
    • pluginArtifacts

      @Parameter(property="plugin.artifacts", required=true, readonly=true) protected List<org.apache.maven.artifact.Artifact> pluginArtifacts
      The plugin dependencies.
    • mojoExecution

      @Parameter(property="mojoExecution", required=true, readonly=true) protected org.apache.maven.plugin.MojoExecution mojoExecution
      The 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).
  • Constructor Details

    • AbstractGroovyMojo

      public AbstractGroovyMojo()
  • Method Details

    • 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:
      true if the running Java supports invokedynamic, false otherwise
    • isJavaSupportPreviewFeatures

      protected boolean isJavaSupportPreviewFeatures()
      Determines whether the version of Java executing this mojo supports preview features (is at least 12).
      Returns:
      true if the running Java supports preview features, false otherwise
    • isJavaSupportParameters

      protected boolean isJavaSupportParameters()
      Determines whether the version of Java executing this mojo supports JEP 118 (is at least 1.8).
      Returns:
      true if the running Java supports parameters, false otherwise
    • 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 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:
      true only 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:
      true if the detected Groovy version is the specified version or newer, false otherwise
    • 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:
      true if the detected Groovy version is the specified version, false otherwise
    • 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:
      true if the detected Groovy version is newer than the specified version, false otherwise
    • 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:
      true if the detected Groovy version is older than the specified version, false otherwise
    • isGroovyIndy

      protected boolean isGroovyIndy()
      Gets whether the version of Groovy on the classpath supports invokedynamic.
      Returns:
      true if the version of Groovy uses invokedynamic, false if not or Groovy dependency cannot be found
    • setupClassWrangler

      protected void setupClassWrangler(List<?> classpath, IncludeClasspath includeClasspath) throws MalformedURLException
      Instantiate a ClassWrangler.
      Parameters:
      classpath - the classpath to load onto a new classloader (if includeClasspath is PROJECT_ONLY)
      includeClasspath - whether to use a shared classloader that includes both the project classpath and plugin classpath.
      Throws:
      MalformedURLException - when a classpath element provides a malformed URL