[
https://issues.apache.org/jira/browse/MENFORCER-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17701066#comment-17701066
]
Slawomir Jaranowski commented on MENFORCER-473:
-----------------------------------------------
{quote}
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?
{quote}
Can you more clarify your requirements, cases in this subject?
> 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)