In the DefaultModelValidator we currently validate identifiers against a-zA-Z0-9-_.
Since Maven also allows operators to be used against an identifier, this can result in bugs or at least unexpected behavior for the user.
The minus operator can be used to deactivate a certain profile, so an example would be:
- A project having a profile with the id -id-of-profile
- A Maven invocation of mvn <goal> -P-id-of-profile.
The release of Maven 4 is a nice opportunity to restrict the first character of an id to be a-zA-Z0-9 . The other characters may still consist of those symbols.
This should apply to all identifiers that we support. The methods that need attention are:
DefaultModelValidator#validateId and DefaultModelValidator#validateIdWithWildcards.