You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamas Cservenak (Jira)" <ji...@apache.org> on 2023/03/16 07:23:00 UTC

[jira] [Commented] (MENFORCER-473) Custom Rules are not processed with Java 17

    [ https://issues.apache.org/jira/browse/MENFORCER-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17701012#comment-17701012 ] 

Tamas Cservenak commented on MENFORCER-473:
-------------------------------------------

This is current limitation with bundled Sisu in Maven (version 0.3.5): it is old, and uses old ASM, so *only Java 11 bytecode is supported* currently, as Sisu needs to introspect classes, the index file only tells which classes to look at. For any component that should run within Maven (so using provided Sisu container) the bytecode must not go beyond Java 11.

> 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)