The Apache Maven team is pleased to announce the release of the Apache Maven Enforcer Plugin and Extension, version 3.0.0
The Enforcer plugin is the Loving Iron Fist of Maven and provides goals to control certain environmental constraints such as Maven version, JDK version and OS family along with many more built-in rules and user created rules. https://maven.apache.org/enforcer/maven-enforcer-plugin/ You should specify the version in your project's plugin configuration: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0</version> </plugin> You can download the appropriate sources etc. from the download page: https://maven.apache.org/enforcer/download.html Release Notes - Maven Enforcer Plugin - Version 3.0.0 ** Bug * [MENFORCER-168] - In a multi module project "bannedDependencies" rule tries to resolve project artifacts from external repository * [MENFORCER-185] - Require Release Dependencies ignorant about aggregator build * [MENFORCER-301] - banDuplicatePomDependencyVersions does not check managementDependencies * [MENFORCER-336] - Beanshell rule is not thread-safe * [MENFORCER-346] - RequireSnapshotVersion not compatible with CI Friendly Versions (${revision}) * [MENFORCER-351] - NPE when using new <?m2e execute ?> syntax with maven-enforcer-plugin * [MENFORCER-352] - Broken links on Maven Enforcer Plugin site * [MENFORCER-357] - RequirePluginVersions not recognizing versions-from-properties * [MENFORCER-359] - [REGRESSION] RequirePluginVersions fails when versions are inherited * [MENFORCER-364] - requireFilesExist rule should be case sensitive * [MENFORCER-366] - Broken Links on Project Home Page * [MENFORCER-373] - TestRequireOS uses hamcrest via transitive dependency * [MENFORCER-374] - plexus-container-default in enforcer-api is very outdated * [MENFORCER-381] - classifier not included in output of failed RequireUpperBoundDeps test ** New Feature * [MENFORCER-358] - requireUpperBounds deps should have includes * [MENFORCER-361] - Introduce RequireTextFileChecksum with line separator normalization ** Improvement * [MENFORCER-211] - wildcard ignore in requireReleaseDeps * [MENFORCER-245] - Improve documentation about writing own Enforcer Rule * [MENFORCER-257] - RequireActiveProfile should respect inherited activated profiles * [MENFORCER-277] - Upgrade maven-dependency-tree to 3.x * [MENFORCER-304] - Improve dependency resolving in multiple modules project * [MENFORCER-313] - requireUpperBoundDeps: add [<scope>] and colors to the output * [MENFORCER-329] - Example for writing a custom rule should be upgraded * [MENFORCER-338] - Along with JavaVersion, allow enforcement of the JavaVendor * [MENFORCER-349] - Include Java vendor in display-info output * [MENFORCER-350] - requireMavenVersion x.y.z is processed as (,x.y.z] instead of [x.y.z,) * [MENFORCER-353] - Consistently format artifacts same as dependency:tree * [MENFORCER-355] - make build Reproducible * [MENFORCER-376] - Add support for excludes/includes in requireJavaVendor rule * [MENFORCER-384] - Introduce Maven Enforcer Extension * [MENFORCER-388] - Extends RequirePluginVersions with banMavenDefaults ** Task * [MENFORCER-377] - Remove reference to travis or switch to travis.com * [MENFORCER-380] - Fix maven assembly links * [MENFORCER-387] - Require Java 8 ** Dependency upgrade * [MENFORCER-267] - Upgrade to make Maven 3.1+ * [MENFORCER-371] - Require Maven 3.1.1 * [MENFORCER-379] - Update maven-common-artifact-filters to 3.2.0 Note: Thanks to all the individual contributors and OpenValue: they've provided several PR during an Open Source Contribution Training Day. Enjoy, -The Apache Maven team