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,org.apache.maven.enforcer.rule.api.EnforcerRuleBase
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 property references such as ${project.version} as versions outside dependency management -->
<allowUnmanagedProjectVersions>true</allowUnmanagedProjectVersions>
<!-- set the allowed property names for the allowUnmanagedProjectVersions option -->
<allowedUnmanagedProjectVersionProperties>some-property.version,some-other.version</allowedUnmanagedProjectVersionProperties>
<!-- 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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaccept(PedanticEnforcerVisitor visitor) protected voiddoEnforce(ErrorReport report) protected PedanticEnforcerRulevoidsetAllowedUnmanagedProjectVersionProperties(String allowedUnmanagedProjectVersionProperties) Comma-separated list of Maven property variable names (without the ${...} decorators) which are allowed to be used as version references outside dependency management.voidsetAllowUnmanagedProjectVersions(boolean allowUnmanagedProjectVersions) If set totrue,may be used within the dependencies section.${project.version} voidsetManageExclusions(boolean manageExclusions) If set totrue, all dependency exclusions must be declared in the dependency management.voidsetManageVersions(boolean manageVersions) If set totrue, all dependency versions have to be defined in the dependency management.Methods inherited from class com.github.ferstl.maven.pomenforcers.AbstractPedanticEnforcer
execute, getCacheId, getHelper, getLevel, getPom, getProjectModel, isCacheable, isResultValidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.maven.enforcer.rule.api.EnforcerRuleBase
setLog
-
Constructor Details
-
PedanticDependencyConfigurationEnforcer
public PedanticDependencyConfigurationEnforcer()
-
-
Method Details
-
setManageVersions
public void setManageVersions(boolean manageVersions) If set totrue, 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 allowUnmanagedProjectVersions) If set totrue,may be used within the dependencies section.${project.version} - Parameters:
allowUnmanagedProjectVersions- Allow project versions outside of the dependencies section.- Since:
- 1.0.0
- Enforcer Configuration Parameter
- Default Value:
true
-
setAllowedUnmanagedProjectVersionProperties
public void setAllowedUnmanagedProjectVersionProperties(String allowedUnmanagedProjectVersionProperties) Comma-separated list of Maven property variable names (without the ${...} decorators) which are allowed to be used as version references outside dependency management. Has no effect ifallowUnmanagedProjectVersionsis set tofalse.- Parameters:
allowedUnmanagedProjectVersionProperties- Set allowed property references for allowUnmanagedProjectVersions option.- Since:
- 2.2.0
- Enforcer Configuration Parameter
- Default Value:
project.version,version
-
setManageExclusions
public void setManageExclusions(boolean manageExclusions) If set totrue, 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
- Specified by:
getDescriptionin classAbstractPedanticEnforcer
-
accept
- Specified by:
acceptin classAbstractPedanticEnforcer
-
doEnforce
- Specified by:
doEnforcein classAbstractPedanticEnforcer
-