This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new 6fb7d80f99 FELIX-6660 - Update ASM to 9.6 (#238)
6fb7d80f99 is described below
commit 6fb7d80f99ed0b4bffe436d9b5bda91b4703a5a7
Author: Konrad Windszus <[email protected]>
AuthorDate: Mon Jan 8 20:03:10 2024 +0100
FELIX-6660 - Update ASM to 9.6 (#238)
Supports bytecode scanning for Java up to version 22
Improve exception handling
Require Java 8
---
tools/osgicheck-maven-plugin/pom.xml | 4 ++--
.../felix/maven/osgicheck/impl/CheckContext.java | 19 +++++++++++++++++++
.../impl/checks/ConsumerProviderTypeCheck.java | 2 +-
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/tools/osgicheck-maven-plugin/pom.xml
b/tools/osgicheck-maven-plugin/pom.xml
index d8705f2d91..2ff2070122 100644
--- a/tools/osgicheck-maven-plugin/pom.xml
+++ b/tools/osgicheck-maven-plugin/pom.xml
@@ -76,8 +76,8 @@
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
- <artifactId>asm-all</artifactId>
- <version>5.2</version>
+ <artifactId>asm-tree</artifactId>
+ <version>9.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
diff --git
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/CheckContext.java
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/CheckContext.java
index 6b9da17927..abb00090cb 100644
---
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/CheckContext.java
+++
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/CheckContext.java
@@ -17,10 +17,13 @@
package org.apache.felix.maven.osgicheck.impl;
import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.Map;
import java.util.jar.Manifest;
import org.apache.maven.plugin.logging.Log;
+import org.codehaus.plexus.util.StringUtils;
public interface CheckContext {
@@ -45,4 +48,20 @@ public interface CheckContext {
* @param message The message.
*/
void reportError(String message);
+
+ /**
+ * This method is invoked by a {@link Check} to report
+ * an exception.
+ * @param message The message.
+ */
+ default void reportError(String message, Throwable cause) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ if (StringUtils.isNotBlank(message)) {
+ pw.print(message);
+ pw.println(":");
+ }
+ cause.printStackTrace(pw);
+ reportError(sw.toString());
+ }
}
diff --git
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
index 7bb16c9a21..a98cd1da93 100644
---
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
+++
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
@@ -115,7 +115,7 @@ public class ConsumerProviderTypeCheck implements Check {
ctx.reportError("Class " + className + " declares ConsumerType
and ProducerType");
}
} catch (final IllegalArgumentException | IOException ioe) {
- ctx.reportError("Unable to scan annotations " + ioe.getMessage());
+ ctx.reportError("Unable to scan annotations in class file " +
classFile, ioe);
}
}