Class AbstractJModMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    JModCreateMojo, JModDescribeMojo, JModHashMojo, JModListMojo

    public abstract class AbstractJModMojo
    extends org.apache.maven.plugin.AbstractMojo
    This contains the code to handle toolchains and the execution of the command which is similar to code in maven-jlink-plugin (maven-jdeps-plugin?). Later we need to think about a way to combine that code to reduce duplication.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.lang.String> jdkToolchain
      Specify the requirements for this jdk toolchain.
      private org.apache.maven.project.MavenProject project  
      private org.apache.maven.execution.MavenSession session  
      private org.apache.maven.toolchain.ToolchainManager toolchainManager  
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void executeCommand​(org.codehaus.plexus.util.cli.Commandline cmd, java.io.File outputDirectory)  
      protected java.lang.String getCommaSeparatedList​(java.util.List<java.lang.String> modules)
      Convert a list into a
      protected java.lang.String getJModExecutable()  
      org.apache.maven.project.MavenProject getProject()  
      org.apache.maven.execution.MavenSession getSession()  
      protected org.apache.maven.toolchain.Toolchain getToolchain()  
      protected boolean projectHasAlreadySetAnArtifact()  
      • 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 Detail

      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        private org.apache.maven.project.MavenProject project
      • session

        @Parameter(defaultValue="${session}",
                   readonly=true,
                   required=true)
        private org.apache.maven.execution.MavenSession session
      • toolchainManager

        @Component
        private org.apache.maven.toolchain.ToolchainManager toolchainManager
      • jdkToolchain

        @Parameter
        private java.util.Map<java.lang.String,​java.lang.String> jdkToolchain

        Specify the requirements for this jdk toolchain. This overrules the toolchain selected by the maven-toolchain-plugin.

        note: requires at least Maven 3.3.1
    • Constructor Detail

      • AbstractJModMojo

        public AbstractJModMojo()
    • Method Detail

      • getJModExecutable

        protected java.lang.String getJModExecutable()
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • projectHasAlreadySetAnArtifact

        protected boolean projectHasAlreadySetAnArtifact()
      • executeCommand

        protected void executeCommand​(org.codehaus.plexus.util.cli.Commandline cmd,
                                      java.io.File outputDirectory)
                               throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getCommaSeparatedList

        protected java.lang.String getCommaSeparatedList​(java.util.List<java.lang.String> modules)
        Convert a list into a
        Parameters:
        modules - The list of modules.
        Returns:
        The string with the module list which is separated by ,.
      • getToolchain

        protected org.apache.maven.toolchain.Toolchain getToolchain()
      • getProject

        public org.apache.maven.project.MavenProject getProject()
      • getSession

        public org.apache.maven.execution.MavenSession getSession()