Class PedanticDependencyScopeEnforcer

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

public class PedanticDependencyScopeEnforcer extends AbstractPedanticEnforcer
Enforces that the configured dependencies have to be defined within a specific scope. Wildcards are supported in the following formats (see example below): - Full wildcard: "*", matches everything - Leading wildcard: "*foo", matches everything that ends with "foo" - Trailing wildcard: "foo*", matches everything that starts with "foo" - Containing wildcard: "*foo*", matches everything that contains with "foo"
 ### Example
     <rules>
       <dependencyScope implementation="com.github.ferstl.maven.pomenforcers.PedanticDependencyScopeEnforcer">
         <!-- These dependencies can only be defined in test scope -->
         <testDependencies>junit:junit,org.hamcrest:*,org.mockito:mockito-core</testDependencies>
         <!-- These dependencies can only be defined in provided scope -->
         <providedDependencies>javax.servlet:servlet-api</providedDependencies>
       </dependencyScope>
     </rules>
 
Since:
1.0.0
Enforcer Rule ID:
PedanticEnforcerRule.DEPENDENCY_SCOPE
  • Constructor Details

    • PedanticDependencyScopeEnforcer

      public PedanticDependencyScopeEnforcer()
  • Method Details

    • setCompileDependencies

      public void setCompileDependencies(String compileDependencies)
      Comma-separated list of compile scope dependencies in the format groupId:artifactId.
      Parameters:
      compileDependencies - Comma-separated list of compile scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • setProvidedDependencies

      public void setProvidedDependencies(String providedDependencies)
      Comma-separated list of provided scope dependencies in the format groupId:artifactId.
      Parameters:
      providedDependencies - Comma-separated list of provided scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • setRuntimeDependencies

      public void setRuntimeDependencies(String runtimeDependencies)
      Comma-separated list of runtime scope dependencies in the format groupId:artifactId.
      Parameters:
      runtimeDependencies - Comma-separated list of runtime scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • setSystemDependencies

      public void setSystemDependencies(String systemDependencies)
      Comma-separated list of system scope dependencies in the format groupId:artifactId.
      Parameters:
      systemDependencies - Comma-separated list of system scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • setTestDependencies

      public void setTestDependencies(String testDependencies)
      Comma-separated list of test scope dependencies in the format groupId:artifactId.
      Parameters:
      testDependencies - Comma-separated list of test scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • setImportDependencies

      public void setImportDependencies(String importDependencies)
      Comma-separated list of import scope dependencies in the format groupId:artifactId.
      Parameters:
      importDependencies - Comma-separated list of import scope dependencies.
      Since:
      1.0.0
      Enforcer Configuration Parameter
    • 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