Class MojoDescriptor

java.lang.Object
org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
org.apache.maven.plugin.descriptor.MojoDescriptor
All Implemented Interfaces:
Cloneable

public class MojoDescriptor extends org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo> implements Cloneable
The bean containing the Mojo descriptor.
For more information about the usage tag, have a look to: https://maven.apache.org/developers/mojo-api-specification.html TODO is there a need for the delegation of MavenMojoDescriptor to this? Why not just extend ComponentDescriptor here?
  • Field Details

  • Constructor Details

    • MojoDescriptor

      public MojoDescriptor()
      Default constructor.
  • Method Details

    • getLanguage

      public String getLanguage()
      Returns:
      the language of this Mojo, i.e. java
    • setLanguage

      public void setLanguage(String language)
      Parameters:
      language - the new language
    • getDeprecated

      public String getDeprecated()
      Returns:
      Description with reason of a Mojo deprecation.
    • setDeprecated

      public void setDeprecated(String deprecated)
      Parameters:
      deprecated - Description with reason of a Mojo deprecation.
    • getParameters

      public List<Parameter> getParameters()
      Returns:
      the list of parameters
    • setParameters

      public void setParameters(List<Parameter> parameters) throws DuplicateParameterException
      Parameters:
      parameters - the new list of parameters
      Throws:
      DuplicateParameterException - if any
    • addParameter

      public void addParameter(Parameter parameter) throws DuplicateParameterException
      Parameters:
      parameter - add a new parameter
      Throws:
      DuplicateParameterException - if any
    • getParameterMap

      public Map<String,Parameter> getParameterMap()
      Returns:
      the list parameters as a Map
    • setDependencyResolutionRequired

      public void setDependencyResolutionRequired(String requiresDependencyResolution)
      Parameters:
      requiresDependencyResolution - the new required dependencies in a specified scope
    • getDependencyResolutionRequired

      public String getDependencyResolutionRequired()
    • isDependencyResolutionRequired

      @Deprecated public String isDependencyResolutionRequired()
      Deprecated.
      Returns:
      the required dependencies in a specified scope TODO the name is not intelligible
    • setDependencyCollectionRequired

      public void setDependencyCollectionRequired(String requiresDependencyCollection)
      Since:
      3.0-alpha-3
    • getDependencyCollectionRequired

      public String getDependencyCollectionRequired()
      Gets the scope of (transitive) dependencies that should be collected. Dependency collection refers to the process of calculating the complete dependency tree in terms of artifact coordinates. In contrast to dependency resolution, this does not include the download of the files for the dependency artifacts. It is meant for mojos that only want to analyze the set of transitive dependencies, in particular during early lifecycle phases where full dependency resolution might fail due to projects which haven't been built yet.
      Returns:
      The scope of (transitive) dependencies that should be collected or null if none.
      Since:
      3.0-alpha-3
    • setProjectRequired

      public void setProjectRequired(boolean requiresProject)
      Parameters:
      requiresProject - true if the Mojo needs a Maven project to be executed, false otherwise.
    • isProjectRequired

      public boolean isProjectRequired()
      Returns:
      true if the Mojo needs a Maven project to be executed, false otherwise.
    • setOnlineRequired

      public void setOnlineRequired(boolean requiresOnline)
      Parameters:
      requiresOnline - true if the Mojo is online, false otherwise.
    • isOnlineRequired

      public boolean isOnlineRequired()
      Returns:
      true if the Mojo is online, false otherwise.
    • requiresOnline

      public boolean requiresOnline()
      Returns:
      true if the Mojo is online, false otherwise.
    • getPhase

      public String getPhase()
      Returns:
      the binded phase name of the Mojo
    • setPhase

      public void setPhase(String phase)
      Parameters:
      phase - the new binded phase name of the Mojo
    • getSince

      public String getSince()
      Returns:
      the version when the Mojo was added to the API
    • setSince

      public void setSince(String since)
      Parameters:
      since - the new version when the Mojo was added to the API
    • getGoal

      public String getGoal()
      Returns:
      The goal name of the Mojo
    • setGoal

      public void setGoal(String goal)
      Parameters:
      goal - The new goal name of the Mojo
    • getExecutePhase

      public String getExecutePhase()
      Returns:
      the invocation phase of the Mojo
    • setExecutePhase

      public void setExecutePhase(String executePhase)
      Parameters:
      executePhase - the new invocation phase of the Mojo
    • alwaysExecute

      public boolean alwaysExecute()
      Returns:
      true if the Mojo uses always for the executionStrategy
    • getExecutionStrategy

      public String getExecutionStrategy()
      Returns:
      the execution strategy
    • setExecutionStrategy

      public void setExecutionStrategy(String executionStrategy)
      Parameters:
      executionStrategy - the new execution strategy
    • getMojoConfiguration

      public org.codehaus.plexus.configuration.PlexusConfiguration getMojoConfiguration()
      Returns:
      the mojo configuration
    • setMojoConfiguration

      public void setMojoConfiguration(org.codehaus.plexus.configuration.PlexusConfiguration mojoConfiguration)
      Parameters:
      mojoConfiguration - a new mojo configuration
    • getRole

      public String getRole()
      Overrides:
      getRole in class org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
    • getRoleHint

      public String getRoleHint()
      Overrides:
      getRoleHint in class org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
    • getId

      public String getId()
      Returns:
      the id of the mojo, based on the goal name
    • getFullGoalName

      public String getFullGoalName()
      Returns:
      the full goal name
      See Also:
    • getComponentType

      public String getComponentType()
      Overrides:
      getComponentType in class org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
    • getPluginDescriptor

      public PluginDescriptor getPluginDescriptor()
      Returns:
      the plugin descriptor
    • setPluginDescriptor

      public void setPluginDescriptor(PluginDescriptor pluginDescriptor)
      Parameters:
      pluginDescriptor - the new plugin descriptor
    • isInheritedByDefault

      public boolean isInheritedByDefault()
      Returns:
      true if the Mojo is inherited, false otherwise.
    • setInheritedByDefault

      public void setInheritedByDefault(boolean inheritedByDefault)
      Parameters:
      inheritedByDefault - true if the Mojo is inherited, false otherwise.
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class org.codehaus.plexus.component.repository.ComponentDescriptor<Mojo>
    • getExecuteLifecycle

      public String getExecuteLifecycle()
      Returns:
      the invocation lifecycle of the Mojo
    • setExecuteLifecycle

      public void setExecuteLifecycle(String executeLifecycle)
      Parameters:
      executeLifecycle - the new invocation lifecycle of the Mojo
    • setAggregator

      public void setAggregator(boolean aggregator)
      Parameters:
      aggregator - true if the Mojo uses the Maven project and its child modules, false otherwise.
    • isAggregator

      public boolean isAggregator()
      Returns:
      true if the Mojo uses the Maven project and its child modules, false otherwise.
    • isDirectInvocationOnly

      public boolean isDirectInvocationOnly()
      Returns:
      true if the Mojo cannot be invoked directly, false otherwise.
    • setDirectInvocationOnly

      public void setDirectInvocationOnly(boolean directInvocationOnly)
      Parameters:
      directInvocationOnly - true if the Mojo cannot be invoked directly, false otherwise.
    • isRequiresReports

      public boolean isRequiresReports()
      Returns:
      true if the Mojo needs reports to run, false otherwise.
    • setRequiresReports

      public void setRequiresReports(boolean requiresReports)
      Parameters:
      requiresReports - true if the Mojo needs reports to run, false otherwise.
    • setExecuteGoal

      public void setExecuteGoal(String executeGoal)
      Parameters:
      executeGoal - the new invocation goal of the Mojo
    • getExecuteGoal

      public String getExecuteGoal()
      Returns:
      the invocation goal of the Mojo
    • isThreadSafe

      public boolean isThreadSafe()
      Returns:
      True if the Mojo is thread-safe and can be run safely in parallel
      Since:
      3.0-beta-2
    • setThreadSafe

      public void setThreadSafe(boolean threadSafe)
      Parameters:
      threadSafe - indicates that the mojo is thread-safe and can be run safely in parallel
      Since:
      3.0-beta-2
    • isForking

      public boolean isForking()
      Returns:
      true if this mojo forks either a goal or the lifecycle, false otherwise.
    • clone

      public MojoDescriptor clone()
      Creates a shallow copy of this mojo descriptor.
      Overrides:
      clone in class Object