[ https://issues.apache.org/jira/browse/MENFORCER-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17701059#comment-17701059 ]
Nils Christian Ehmke commented on MENFORCER-473: ------------------------------------------------ Hi [~cstamas], Thank you for the quick answer. Some follow-up questions: * Can we somehow circumvent this? The documentation only shows how to implement custom rules using the new injection-based API, but can we still use the full qualified class name and evaluate the required Maven properties in another way instead of using an injected instance of {_}MavenProject{_}? * Is there any roadmap on when/how this will be solved? Given that Java 17 has been released in 2021, it seems problematic that this has not somehow been adressed already. We are currently not able to use the never rules, e.g. {_}banDependencyManagementScope{_}. * Shouldn't this be mentioned somewhere? Or is it documented and we just didn't see it? > Custom Rules are not processed with Java 17 > ------------------------------------------- > > Key: MENFORCER-473 > URL: https://issues.apache.org/jira/browse/MENFORCER-473 > Project: Maven Enforcer Plugin > Issue Type: Bug > Components: externalRules, Plugin, Rule API > Affects Versions: 3.2.1 > Environment: Windows, Java 17 > Reporter: Nils Christian Ehmke > Priority: Major > > Hi, > We noticed that our custom rule, using the newer API (as documented > [here)|https://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html] > is not processed using Java 17. > We created a sample project using the custom rule example. Once we use Java > 17 in the pom.xml it breaks. > {code:java} > <properties> > <api.version>3.2.1</api.version> > <maven.version>3.9.0</maven.version> > <!-- use JDK 1.8 at least --> > <maven.compiler.source>17</maven.compiler.source> > <maven.compiler.target>17</maven.compiler.target> > </properties> > ... > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-compiler-plugin</artifactId> > <version>3.11.0</version> > </plugin> > <plugin> > <!-- generate index of project components --> > <groupId>org.eclipse.sisu</groupId> > <artifactId>sisu-maven-plugin</artifactId> > <version>0.9.0.M1</version> > <executions> > <execution> > <goals> > <goal>main-index</goal> > </goals> > </execution> > </executions> > </plugin> > {code} > If we compile the custom rule and verify the using project, we get > {code} > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-enforcer-plugin:3.2.1:enforce (enforce) on > project maven-enforcer-plugin-sample-usage: Execution enforce of goal > org.apache.maven.plugins:maven-enforcer-plugin:3.2.1:enforce failed: Failed > to create enforcer rules with name: myCustomRule or for class: > org.apache.maven.plugins.enforcer.MyCustomRule -> [Help 1] > {code} > The index file itself looks good, so something else within the plugin or Sisu > Plexus seems to break. -- This message was sent by Atlassian Jira (v8.20.10#820010)