nielsbasjes commented on PR #104: URL: https://github.com/apache/maven-release/pull/104#issuecomment-1140416016
> > The Conventional Commits part has specific configuration. That "next version calculator" is a plugin for the maven-release plugin. > > I know see, it is not a plugin in Maven sense, since it is not a Maven plugin with mojos. Correct, this VersionPolicy is not a maven plugin, and as a consequence my editor (IntelliJ) does not support me in setting the right options. > You simply provide a new implementation for an interface pluggable at runtime, no? Yes, and for this implementation there can be implementation specific configuration. I would like to offer settings configuration in the pom.xml of the project at hand. Right now (and this is the best I was able to get running) you can see in `maven-release-plugin/src/it/projects/prepare/ccsemver-policy/pom.xml` that the config for this VersionPolicy is a single string in projectVersionPolicyConfig which contains an XML as CDATA... which I don't really like. My question is simply: Is there a better way to do this? ``` <configuration> <projectVersionPolicyId>CCSemVerVersionPolicy</projectVersionPolicyId> <!-- projectVersionPolicyConfig is an XML structure: --> <!-- versionTag: A regex with 1 capture group that MUST extract the project.version from the SCM tag. --> <!-- minorRules: A list regexes that will be matched against all lines in each commit message since --> <!-- the last tag. If matched the next version is at least a MINOR update. --> <!-- majorRules: A list regexes that will be matched against all lines in each commit message since --> <!-- the last tag. If matched the next version is at least a MAJOR update. --> <!-- If a match is found the commit will trigger either a minor or major version increase --> <!-- instead of only a patch increase. --> <projectVersionPolicyConfig> <![CDATA[ <cCSemverConfig> <versionTag>^v([0-9]+(?:\.[0-9]+(?:\.[0-9]+)?)?)$</versionTag> <majorRules> <majorRule>^[a-zA-Z]+!(?:\([a-zA-Z0-9_-]+\))?: .*$</majorRule> <majorRule>^BREAKING CHANGE:.*$</majorRule> </majorRules> <minorRules> <minorRule>^feat(?:\([a-zA-Z0-9_-]+\))?: .*$</minorRule> </minorRules> </cCSemverConfig> ]]> </projectVersionPolicyConfig> </configuration> ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org