Class PedanticPluginConfigurationEnforcer

java.lang.Object
com.github.ferstl.maven.pomenforcers.AbstractPedanticEnforcer
com.github.ferstl.maven.pomenforcers.PedanticPluginConfigurationEnforcer
All Implemented Interfaces:
org.apache.maven.enforcer.rule.api.EnforcerRule, org.apache.maven.enforcer.rule.api.EnforcerRule2

public class PedanticPluginConfigurationEnforcer extends AbstractPedanticEnforcer
Enforces that plugin versions, configurations and dependencies are defined in the <pluginManagement> section. Plugin <executions> can still be configured in the <plugins> section if this enforcer is active.
 ### Example
     <rules>
       <pluginConfiguration implementation="com.github.ferstl.maven.pomenforcers.PedanticPluginConfigurationEnforcer">
         <!-- all plugin versions have to be defined in plugin managment -->
         <manageVersions>true</manageVersions>
         <!-- plugin configuration (except execution configuration) has to be defined in plugin management. -->
         <manageConfigurations>true</manageConfigurations>
         <!-- plugin dependencies may be defined in the <plugins> section. -->
         <manageDependencies>false</manageDependencies>
       </pluginConfiguration>
     </rules>
 
Since:
1.0.0
Enforcer Rule ID:
PedanticEnforcerRule.PLUGIN_CONFIGURATION
  • Constructor Details

    • PedanticPluginConfigurationEnforcer

      public PedanticPluginConfigurationEnforcer()
  • Method Details

    • setManageVersions

      public void setManageVersions(boolean manageVersions)
      Enforces plugin versions to be defined in <pluginManagement>.
      Parameters:
      manageVersions - Enforces plugin versions to be defined in <pluginManagement>.
      Since:
      1.0.0
      Enforcer Configuration Parameter
      Default Value:
      true
    • setManageConfigurations

      public void setManageConfigurations(boolean manageConfigurations)
      Enforces plugin configuration to be defined in <pluginManagement>.
      Parameters:
      manageConfigurations - Enforces plugin configuration to be defined in <pluginManagement>.
      Since:
      1.0.0
      Enforcer Configuration Parameter
      Default Value:
      true
    • setManageDependencies

      public void setManageDependencies(boolean manageDependencies)
      Enforces plugin dependencies to be defined in <pluginManagement>.
      Parameters:
      manageDependencies - Enforces plugin <dependencies> to be defined in <pluginManagement>.
      Since:
      1.0.0
      Enforcer Configuration Parameter
      Default Value:
      true
    • getDescription

      protected PedanticEnforcerRule getDescription()
      Specified by:
      getDescription in class AbstractPedanticEnforcer
    • accept

      protected void accept(PedanticEnforcerVisitor visitor)
      Specified by:
      accept in class AbstractPedanticEnforcer
    • doEnforce

      protected void doEnforce(ErrorReport report)
      Specified by:
      doEnforce in class AbstractPedanticEnforcer