Require Property
This rule can enforce that a declared property is set and optionally evaluate it against a regular expression.
The following parameters are supported by this rule:
- property - the property to evaluate.
- message - an optional message to the user if the rule fails. Default is: "Property 'xxx' is required for this build".
- regex - an optional regular expression used to check the value of the property.
- regexMessage - an optional message to the user if the regex check fails.
The regex is applied to the entire value of the property (i.e. using the regex "match" method), and not just a substring of the property value.
Sample Plugin Configuration:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>basedir</property>
<message>You must set a basedir property!</message>
<regex>.*\d.*</regex>
<regexMessage>The basedir property must contain at least one digit.</regexMessage>
</requireProperty>
<requireProperty>
<property>project.version</property>
<message>"Project version must be specified."</message>
<regex>.*(\d|-SNAPSHOT)$</regex>
<regexMessage>"Project version must end in a number or -SNAPSHOT."</regexMessage>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>