Class ToolchainMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="toolchain",
          defaultPhase=VALIDATE,
          configurator="toolchains-requirement-configurator")
    public class ToolchainMojo
    extends org.apache.maven.plugin.AbstractMojo
    Check that toolchains requirements are met by currently configured toolchains and store the selected toolchains in build context for later retrieval by other plugins.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.apache.maven.execution.MavenSession session
      The current build session instance.
      private org.apache.maven.toolchain.ToolchainManagerPrivate toolchainManagerPrivate  
      private ToolchainsRequirement toolchains
      Toolchains requirements, specified by one
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      ToolchainMojo()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute()  
      protected java.lang.String getToolchainRequirementAsString​(java.lang.String type, java.util.Map<java.lang.String,​java.lang.String> params)  
      private org.apache.maven.toolchain.ToolchainPrivate[] getToolchains​(java.lang.String type)  
      protected boolean selectToolchain​(java.lang.String type, java.util.Map<java.lang.String,​java.lang.String> params)  
      • 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
    • Field Detail

      • toolchainManagerPrivate

        @Component
        private org.apache.maven.toolchain.ToolchainManagerPrivate toolchainManagerPrivate
      • session

        @Parameter(defaultValue="${session}",
                   readonly=true,
                   required=true)
        private org.apache.maven.execution.MavenSession session
        The current build session instance. This is used for toolchain manager API calls.
      • toolchains

        @Parameter(required=true)
        private ToolchainsRequirement toolchains
        Toolchains requirements, specified by one
          <toolchain-type>
            <param>expected value</param>
            ...
          </toolchain-type>
        element for each required toolchain.
    • Constructor Detail

      • ToolchainMojo

        public ToolchainMojo()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • getToolchainRequirementAsString

        protected java.lang.String getToolchainRequirementAsString​(java.lang.String type,
                                                                   java.util.Map<java.lang.String,​java.lang.String> params)
      • selectToolchain

        protected boolean selectToolchain​(java.lang.String type,
                                          java.util.Map<java.lang.String,​java.lang.String> params)
                                   throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getToolchains

        private org.apache.maven.toolchain.ToolchainPrivate[] getToolchains​(java.lang.String type)
                                                                     throws org.apache.maven.plugin.MojoExecutionException,
                                                                            org.apache.maven.toolchain.MisconfiguredToolchainException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.toolchain.MisconfiguredToolchainException