blob: 5567a6f92197ab3a177f65a5b4841a280b455d86 [file] [log] [blame]
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
------
Built-In Rules
------
Brian Fox
------
2015-01-27
------
Built-In Rules
The following built-in rules ship along with the enforcer plugin:
* {{{./alwaysFail.html}alwaysFail}} - Always fail... used to test plugin configuration.
* {{{./alwaysPass.html}alwaysPass}} - Always passes... used to test plugin configuration.
* {{{./banDistributionManagement.html}banDistributionManagement}} - enforces that project doesn't have distributionManagement.
* {{{./banDuplicatePomDependencyVersions.html}banDuplicatePomDependencyVersions}} - enforces that the project doesn't have duplicate declared dependencies.
* {{{./bannedDependencies.html}bannedDependencies}} - enforces that excluded dependencies aren't included.
* {{{./bannedPlugins.html}bannedPlugins}} - enforces that specific plugins aren't included in the build.
* {{{./bannedRepositories.html}bannedRepositories}} - enforces to not include banned repositories.
* {{{./banTransitiveDependencies.html}banTransitiveDependencies}} - enforces that project doesn't have transitive dependencies.
* {{{./dependencyConvergence.html}dependencyConvergence}} - ensure all dependencies converge to the same version.
* {{{./evaluateBeanshell.html}evaluateBeanshell}} - evaluates a beanshell script.
* {{{./reactorModuleConvergence.html}reactorModuleConvergence}} - enforces that a multi module build follows best practice.
* {{{./requireActiveProfile.html}requireActiveProfile}} - enforces one or more active profiles.
* {{{./requireEnvironmentVariable.html}requireEnvironmentVariable}} - enforces the existence of an environment variable.
* {{{./requireFileChecksum.html}requireFileChecksum}} - enforces that the specified file has a certain checksum.
* {{{./requireFilesDontExist.html}requireFilesDontExist}} - enforces that the list of files does not exist.
* {{{./requireFilesExist.html}requireFilesExist}} - enforces that the list of files does exist.
* {{{./requireFilesSize.html}requireFilesSize}} - enforces that the list of files exists and is within a certain size range.
* {{{./requireJavaVendor.html}requireJavaVendor}} - enforces the JDK vendor.
* {{{./requireJavaVersion.html}requireJavaVersion}} - enforces the JDK version.
* {{{./requireMavenVersion.html}requireMavenVersion}} - enforces the Maven version.
* {{{./requireNoRepositories.html}requireNoRepositories}} - enforces to not include repositories.
* {{{./requireOS.html}requireOS}} - enforces the OS / CPU Architecture.
* {{{./requirePluginVersions.html}requirePluginVersions}} - enforces that all plugins have a specified version.
* {{{./requirePrerequisite.html}requirePrerequisite}} - enforces that prerequisites have been specified.
* {{{./requireProfileIdsExist.html}requireProfileIdsExist}} - enforces the existence of profiles specified on the commandline.
* {{{./requireProperty.html}requireProperty}} - enforces the existence and values of properties.
* {{{./requireReleaseDeps.html}requireReleaseDeps}} - enforces that no snapshots are included as dependencies.
* {{{./requireReleaseVersion.html}requireReleaseVersion}} - enforces that the artifact is not a snapshot.
* {{{./requireSnapshotVersion.html}requireSnapshotVersion}} - enforces that the artifact is not a release.
* {{{./requireSameVersions.html}requireSameVersions}} - enforces that specific dependencies and/or plugins have the same version.
* {{{./requireTextFileChecksum.html}requireTextFileChecksum}} - enforces that the specified text file has a certain checksum (after normalizing line separators).
* {{{./requireUpperBoundDeps.html}requireUpperBoundDeps}} - ensures that every (transitive) dependency is resolved to its specified version or higher.
[]
You may also create and inject your own custom rules by following the {{{https://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html}maven-enforcer-rule-api}} instructions.