Class PedanticDependencyConfigurationEnforcer

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

public class PedanticDependencyConfigurationEnforcer extends AbstractPedanticEnforcer
This enforcer makes sure that dependency versions and exclusions are declared in the <dependencyManagement> section.
 ### Example
     <rules>
       <dependencConfiguration implementation="com.github.ferstl.maven.pomenforcers.PedanticDependencyConfigurationEnforcer">
         <!-- Manage dependency versions in dependency management -->
         <manageVersions>true</manageVersions>
         <!-- allow ${project.version} outside dependency management -->
         <allowUnmanagedProjectVersions>true</allowUnmanagedProjectVersions>
         <!-- all dependency exclusions must be defined in dependency managment -->
         <manageExclusions>true</manageExclusions>
       </dependencyConfiguration>
     </rules>
 
Since:
1.0.0
Enforcer Rule ID:
PedanticEnforcerRule.DEPENDENCY_CONFIGURATION
  • Constructor Details

    • PedanticDependencyConfigurationEnforcer

      public PedanticDependencyConfigurationEnforcer()
  • Method Details

    • setManageVersions

      public void setManageVersions(boolean manageVersions)
      If set to true, all dependency versions have to be defined in the dependency management.
      Parameters:
      manageVersions - Manage dependency versions in the dependency management.
      Since:
      1.0.0
      Enforcer Configuration Parameter
      Default Value:
      true
    • setAllowUnmanagedProjectVersions

      public void setAllowUnmanagedProjectVersions(boolean allowUnmangedProjectVersions)
      If set to true, ${project.version} may be used within the dependencies section.
      Parameters:
      allowUnmangedProjectVersions - Allow project versions outside of the dependencies section.
      Since:
      1.0.0
      Enforcer Configuration Parameter
      Default Value:
      true
    • setManageExclusions

      public void setManageExclusions(boolean manageExclusions)
      If set to true, all dependency exclusions must be declared in the dependency management.
      Parameters:
      manageExclusions - Manage exclusion in dependency management.
      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