From 3829392d5c27527ca0dd33cadc0b8e725a80bb9e Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Mon, 18 Mar 2019 19:00:44 -0400 Subject: [PATCH 1/3] Avoid non-sensical complaint about MODULE_INFO_CLASS for mismatched minor version --- .../maven/plugins/enforcer/EnforceBytecodeVersion.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java index 9fa2756d..bed2c810 100644 --- a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java +++ b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java @@ -349,7 +349,13 @@ private String isBadArtifact( Artifact a ) Matcher matcher = MULTIRELEASE.matcher( entry.getName() ); - if ( matcher.matches() ) + if ( MODULE_INFO_CLASS.equals( entry.getName() ) ) { + if ( major > maxJavaMajorVersionNumber ) { + getLog().warn("Invalid bytecodeVersion for " + MODULE_INFO_CLASS + ": expected " + + maxJavaMajorVersionNumber + ", but was " + major); + } + } + else if ( matcher.matches() ) { Integer expectedMajor = JDK_TO_MAJOR_VERSION_NUMBER_MAPPING.get( matcher.group( 1 ) ); From 5e34af0d191344cd55e09098f7898648a9a1d5cb Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Mon, 18 Mar 2019 19:04:06 -0400 Subject: [PATCH 2/3] Report artifact info When an error occurs, this information is provided by handleArtifacts. For warnings, the only information is the information provided by the getLog().warn() call itself. Without this change, the following output is common: [INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (display-info) @ acceptance-test-harness --- [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 [WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53 --- .../maven/plugins/enforcer/EnforceBytecodeVersion.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java index bed2c810..1ba1a497 100644 --- a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java +++ b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java @@ -299,6 +299,8 @@ private String isBadArtifact( Artifact a ) jarFile = new JarFile( f ); getLog().debug( f.getName() + " => " + f.getPath() ); byte[] magicAndClassFileVersion = new byte[8]; + StringBuilder artifactInfo = new StringBuilder(); + artifactInfo.append( "(" ).append( a.getGroupId() ).append( ":" ).append( a.getArtifactId() ).append( ") " ); JAR: for ( Enumeration e = jarFile.entries(); e.hasMoreElements(); ) { JarEntry entry = e.nextElement(); @@ -351,7 +353,7 @@ private String isBadArtifact( Artifact a ) if ( MODULE_INFO_CLASS.equals( entry.getName() ) ) { if ( major > maxJavaMajorVersionNumber ) { - getLog().warn("Invalid bytecodeVersion for " + MODULE_INFO_CLASS + ": expected " + getLog().warn( artifactInfo + "Invalid bytecodeVersion for " + MODULE_INFO_CLASS + ": expected " + maxJavaMajorVersionNumber + ", but was " + major); } } @@ -365,8 +367,8 @@ else if ( matcher.matches() ) } else if ( major != expectedMajor ) { - getLog().warn( "Invalid bytecodeVersion for " + a + " : " - + entry.getName() + ": expected " + expectedMajor + ", but was " + major ); + getLog().warn( artifactInfo + "Invalid bytecodeVersion for " + entry.getName() + ": expected " + + expectedMajor + ", but was " + major ); } } else From 56faacde8fea5d351d491e5d196f331dfddf0179 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Sun, 11 Feb 2024 12:44:30 +0100 Subject: [PATCH 3/3] Update src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java Co-authored-by: Mirko Friedenhagen --- .../apache/maven/plugins/enforcer/EnforceBytecodeVersion.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java index 1ba1a497..e6af852c 100644 --- a/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java +++ b/src/main/java/org/apache/maven/plugins/enforcer/EnforceBytecodeVersion.java @@ -299,8 +299,7 @@ private String isBadArtifact( Artifact a ) jarFile = new JarFile( f ); getLog().debug( f.getName() + " => " + f.getPath() ); byte[] magicAndClassFileVersion = new byte[8]; - StringBuilder artifactInfo = new StringBuilder(); - artifactInfo.append( "(" ).append( a.getGroupId() ).append( ":" ).append( a.getArtifactId() ).append( ") " ); + String artifactInfo = "(" + a.getGroupId() + ":" + a.getArtifactId() + ") "; JAR: for ( Enumeration e = jarFile.entries(); e.hasMoreElements(); ) { JarEntry entry = e.nextElement();