Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package objectweb-asm for openSUSE:Factory checked in at 2026-05-28 17:23:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/objectweb-asm (Old) and /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "objectweb-asm" Thu May 28 17:23:42 2026 rev:34 rq:1355222 version:9.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/objectweb-asm/objectweb-asm.changes 2026-05-20 15:23:54.380620881 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/objectweb-asm.changes 2026-05-28 17:23:57.068297901 +0200 @@ -1,0 +2,8 @@ +Mon May 25 21:27:30 UTC 2026 - Fridrich Strba <[email protected]> + +- Upgrade to version 9.10.1 + * bug fixes + + 318045: The retrofitter should also remove the (forRemoval) + from the @Deprecated annotation associated with fields + +------------------------------------------------------------------- @@ -4 +12 @@ -- Upgrade to verision 9.10 +- Upgrade to version 9.10 Old: ---- asm-9.10.pom asm-analysis-9.10.pom asm-commons-9.10.pom asm-test-9.10.pom asm-tree-9.10.pom asm-util-9.10.pom objectweb-asm-9.10.tar.xz New: ---- asm-9.10.1.pom asm-analysis-9.10.1.pom asm-commons-9.10.1.pom asm-test-9.10.1.pom asm-tree-9.10.1.pom asm-util-9.10.1.pom objectweb-asm-9.10.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ objectweb-asm.spec ++++++ --- /var/tmp/diff_new_pack.1VZivH/_old 2026-05-28 17:24:00.836453877 +0200 +++ /var/tmp/diff_new_pack.1VZivH/_new 2026-05-28 17:24:00.844454209 +0200 @@ -18,7 +18,7 @@ %define __requires_exclude java-headless Name: objectweb-asm -Version: 9.10 +Version: 9.10.1 Release: 0 Summary: Java bytecode manipulation framework License: BSD-3-Clause ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.1VZivH/_old 2026-05-28 17:24:01.036462157 +0200 +++ /var/tmp/diff_new_pack.1VZivH/_new 2026-05-28 17:24:01.068463482 +0200 @@ -1,6 +1,6 @@ -mtime: 1779098477 -commit: 6c547a9e1c0a4dbf3cb0ccff48d4eea03c41e1c2c58e867afa99410612f5117d +mtime: 1779744541 +commit: db6aca2883addf5697e47b8e88aa6831b1562aca8501443fabe08d289292a64d url: https://src.opensuse.org/java-packages/objectweb-asm -revision: 6c547a9e1c0a4dbf3cb0ccff48d4eea03c41e1c2c58e867afa99410612f5117d +revision: db6aca2883addf5697e47b8e88aa6831b1562aca8501443fabe08d289292a64d projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj ++++++ _service ++++++ --- /var/tmp/diff_new_pack.1VZivH/_old 2026-05-28 17:24:01.232470270 +0200 +++ /var/tmp/diff_new_pack.1VZivH/_new 2026-05-28 17:24:01.288472588 +0200 @@ -2,11 +2,11 @@ <service name="tar_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://gitlab.ow2.org/asm/asm.git</param> - <param name="revision">ASM_9_10</param> + <param name="revision">ASM_9_10_1</param> <param name="match-tag">ASM_*</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="versionrewrite-pattern">ASM_(\d+)_(\d+)</param> - <param name="versionrewrite-replacement">\1.\2</param> + <param name="versionrewrite-pattern">ASM_(\d+)_(\d+)_(\d+)</param> + <param name="versionrewrite-replacement">\1.\2.\3</param> <param name="exclude">**/*.jar</param> <param name="exclude">asm{,-analysis,-commons}/**/*.class</param> <param name="exclude">gradle</param> ++++++ asm-9.10.pom -> asm-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-9.10.pom 2026-05-20 15:23:53.532586003 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-9.10.1.pom 2026-05-28 17:23:56.536275879 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm</name> <description>ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> ++++++ asm-analysis-9.10.pom -> asm-analysis-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-analysis-9.10.pom 2026-05-20 15:23:53.640590445 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-analysis-9.10.1.pom 2026-05-28 17:23:56.584277866 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm-analysis</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm-analysis</name> <description>Static code analysis API of ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> @@ -71,7 +71,7 @@ <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> </dependencies> ++++++ asm-commons-9.10.pom -> asm-commons-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-commons-9.10.pom 2026-05-20 15:23:53.768595709 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-commons-9.10.1.pom 2026-05-28 17:23:56.696282502 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm-commons</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm-commons</name> <description>Usefull class adapters based on ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> @@ -71,13 +71,13 @@ <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> </dependencies> ++++++ asm-test-9.10.pom -> asm-test-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-test-9.10.pom 2026-05-20 15:23:53.888600645 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-test-9.10.1.pom 2026-05-28 17:23:56.808287139 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm-test</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm-test</name> <description>Utilities for testing ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> ++++++ asm-tree-9.10.pom -> asm-tree-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-tree-9.10.pom 2026-05-20 15:23:54.024606238 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-tree-9.10.1.pom 2026-05-28 17:23:56.860289291 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm-tree</name> <description>Tree API of ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> @@ -71,7 +71,7 @@ <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> </dependencies> ++++++ asm-util-9.10.pom -> asm-util-9.10.1.pom ++++++ --- /work/SRC/openSUSE:Factory/objectweb-asm/asm-util-9.10.pom 2026-05-20 15:23:54.116610023 +0200 +++ /work/SRC/openSUSE:Factory/.objectweb-asm.new.1937/asm-util-9.10.1.pom 2026-05-28 17:23:56.936292437 +0200 @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.ow2.asm</groupId> <artifactId>asm-util</artifactId> - <version>9.10</version> + <version>9.10.1</version> <name>asm-util</name> <description>Utilities for ASM, a very small and fast Java bytecode manipulation framework</description> <url>http://asm.ow2.io/</url> @@ -71,19 +71,19 @@ <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-analysis</artifactId> - <version>9.10</version> + <version>9.10.1</version> <scope>compile</scope> </dependency> </dependencies> ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-05-25 23:29:01.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ objectweb-asm-9.10.tar.xz -> objectweb-asm-9.10.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/objectweb-asm-9.10/build.gradle new/objectweb-asm-9.10.1/build.gradle --- old/objectweb-asm-9.10/build.gradle 2026-03-07 18:24:14.000000000 +0100 +++ new/objectweb-asm-9.10.1/build.gradle 2026-05-23 15:02:17.000000000 +0200 @@ -47,7 +47,7 @@ allprojects { group = 'org.ow2.asm' - version = '9.10' + (rootProject.hasProperty('release') ? '' : '-SNAPSHOT') + version = '9.10.1' + (rootProject.hasProperty('release') ? '' : '-SNAPSHOT') ext.osgi_version_upper_bound = '9.11' } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/objectweb-asm-9.10/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java new/objectweb-asm-9.10.1/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java --- old/objectweb-asm-9.10/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java 2026-03-07 18:24:14.000000000 +0100 +++ new/objectweb-asm-9.10.1/tools/retrofitter/src/main/java/org/objectweb/asm/tools/Retrofitter.java 2026-05-23 15:02:17.000000000 +0200 @@ -346,7 +346,7 @@ } } if (moduleNames.size() != 1) { - throw new IllegalArgumentException("Module name can't be infered from classes"); + throw new IllegalArgumentException("Module name can't be inferred from classes"); } ModuleVisitor moduleVisitor = classWriter.visitModule(moduleNames.get(0).replace('/', '.'), Opcodes.ACC_OPEN, version); @@ -445,6 +445,14 @@ } @Override + public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { + if (descriptor.equals("Ljava/lang/FunctionalInterface;")) { + return null; + } + return super.visitAnnotation(descriptor, visible); + } + + @Override public void visitNestHost(final String nestHost) { // Remove the NestHost attribute. } @@ -454,6 +462,20 @@ // Remove the NestMembers attribute. } + private AnnotationVisitor removeDeprecatedForRemoval(final AnnotationVisitor av) { + // We use @Deprecated(forRemoval = false) instead of a plain @Deprecated + // but forRemoval was introduced in Java 9, so we need to remove it + return new AnnotationVisitor(api, av) { + @Override + public void visit(final String name, final Object value) { + if (name.equals("forRemoval")) { + return; + } + super.visit(name, value); + } + }; + } + @Override public FieldVisitor visitField( final int access, @@ -462,7 +484,17 @@ final String signature, final Object value) { addPackageReferences(Type.getType(descriptor), /* export= */ false); - return super.visitField(access, name, descriptor, signature, value); + FieldVisitor fv = super.visitField(access, name, descriptor, signature, value); + return new FieldVisitor(api, fv) { + @Override + public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { + AnnotationVisitor av = super.visitAnnotation(descriptor, visible); + if (descriptor.equals("Ljava/lang/Deprecated;")) { + return removeDeprecatedForRemoval(av); + } + return av; + } + }; } @Override @@ -479,23 +511,10 @@ @Override public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { AnnotationVisitor av = super.visitAnnotation(descriptor, visible); - if (descriptor.equals("Ljava/lang/FunctionalInterface;")) { - return null; - } - if (!descriptor.equals("Ljava/lang/Deprecated;")) { - return av; + if (descriptor.equals("Ljava/lang/Deprecated;")) { + return removeDeprecatedForRemoval(av); } - // We use @Deprecated(forRemoval = false) instead of a plain @Deprecated - // but forRemoval was introduced in Java 9, so we need to remove it - return new AnnotationVisitor(api, av) { - @Override - public void visit(final String name, final Object value) { - if (name.equals("forRemoval")) { - return; - } - super.visit(name, value); - } - }; + return av; } @Override @@ -671,9 +690,6 @@ /** The internal name of the visited class. */ String className; - /** The name and descriptor of the currently visited method. */ - String currentMethodName; - public ClassVerifier() { // Make sure use we don't use Java 9 or higher classfile features. // We also want to make sure we don't use Java 6, 7 or 8 classfile @@ -697,37 +713,63 @@ } @Override + public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { + var av = super.visitAnnotation(descriptor, visible); + if (descriptor.equals("Ljava/lang/FunctionalInterface;")) { + throw new IllegalArgumentException( + format("ERROR: @FunctionalInterface in %s is not available in JDK 1.5", className)); + } + return av; + } + + private AnnotationVisitor deprecatedAnnotationVisitor( + final String descriptor, final AnnotationVisitor av, final String member) { + if (descriptor.equals("Ljava/lang/Deprecated;")) { + return new AnnotationVisitor(Opcodes.ASM4, av) { + @Override + public void visit(final String name, final Object value) { + throw new IllegalArgumentException( + format( + "ERROR: @Deprecated name %s on %s %s is not available in JDK 1.5", + name, member, className)); + } + }; + } + return av; + } + + @Override + public FieldVisitor visitField( + final int access, + final String name, + final String descriptor, + final String signature, + final Object value) { + var fv = super.visitField(access, name, descriptor, signature, value); + return new FieldVisitor(Opcodes.ASM4, fv) { + @Override + public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { + var av = super.visitAnnotation(descriptor, visible); + return deprecatedAnnotationVisitor(descriptor, av, name); + } + }; + } + + @Override public MethodVisitor visitMethod( final int access, final String name, final String descriptor, final String signature, final String[] exceptions) { - currentMethodName = name + descriptor; + String methodName = name + descriptor; MethodVisitor methodVisitor = super.visitMethod(access, name, descriptor, signature, exceptions); return new MethodVisitor(Opcodes.ASM4, methodVisitor) { @Override public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { var av = super.visitAnnotation(descriptor, visible); - if (descriptor.equals("Ljava/lang/FunctionalInterface;")) { - throw new IllegalArgumentException( - format( - "ERROR: @FunctionalInterface in %s %s is not available in JDK 1.5", - className, currentMethodName)); - } - if (!descriptor.equals("Ljava/lang/Deprecated;")) { - return av; - } - return new AnnotationVisitor(Opcodes.ASM4, av) { - @Override - public void visit(final String name, final Object value) { - throw new IllegalArgumentException( - format( - "ERROR: @Deprecated name %s in %s %s is not available in JDK 1.5", - name, className, currentMethodName)); - } - }; + return deprecatedAnnotationVisitor(descriptor, av, methodName); } @Override @@ -735,13 +777,13 @@ throw new IllegalArgumentException( format( "ERROR: parameter %s in %s %s is not available in JDK 1.5", - name, className, currentMethodName)); + name, className, methodName)); } @Override public void visitFieldInsn( final int opcode, final String owner, final String name, final String descriptor) { - check(owner, name); + check(owner, name, methodName); } @Override @@ -751,7 +793,7 @@ final String name, final String descriptor, final boolean isInterface) { - check(owner, name + descriptor); + check(owner, name + descriptor, methodName); } @Override @@ -762,13 +804,13 @@ throw new IllegalArgumentException( format( "ERROR: ldc with a MethodType called in %s %s is not available in JDK 1.5", - className, currentMethodName)); + className, methodName)); } } else if (value instanceof Handle) { throw new IllegalArgumentException( format( "ERROR: ldc with a MethodHandle called in %s %s is not available in JDK 1.5", - className, currentMethodName)); + className, methodName)); } } @@ -781,7 +823,7 @@ throw new IllegalArgumentException( format( "ERROR: invokedynamic called in %s %s is not available in JDK 1.5", - className, currentMethodName)); + className, methodName)); } }; } @@ -791,8 +833,9 @@ * * @param owner A class name. * @param member A field name or a method name and descriptor. + * @param methodName The name and descriptor of the currently visited method. */ - private void check(final String owner, final String member) { + private void check(final String owner, final String member, final String methodName) { if (owner.startsWith("java/")) { String currentOwner = owner; while (currentOwner != null) { @@ -804,7 +847,7 @@ throw new IllegalArgumentException( format( "ERROR: %s %s called in %s %s is not defined in the JDK 1.5 API", - owner, member, className, currentMethodName)); + owner, member, className, methodName)); } } } ++++++ objectweb-asm-build.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/common.xml new/common.xml --- old/common.xml 2026-05-18 11:56:12.009405021 +0200 +++ new/common.xml 2026-05-25 23:16:12.371405082 +0200 @@ -3,7 +3,7 @@ <project name="common" basedir="."> <property file="build.properties"/> - <property name="project.version" value="9.10"/> + <property name="project.version" value="9.10.1"/> <property name="project.groupId" value="org.ow2.asm"/> <property name="project.organization.name" value="OW2"/> @@ -14,6 +14,6 @@ <property name="compiler.source" value="1.${compiler.release}"/> <property name="compiler.target" value="${compiler.source}"/> - <property name="bundle.version" value="${project.version}.0"/> + <property name="bundle.version" value="${project.version}"/> </project>
