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.5.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>