From b12d88696b6be88b409383bc53e2f355cdc7e696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 20 Feb 2024 09:23:43 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 objectweb-asm revision da5aa7c74a5e7d118b640ab063796445 --- .gitattributes | 23 ++++ asm-9.6.pom | 75 ++++++++++++ asm-all.pom | 57 +++++++++ asm-analysis-9.6.pom | 83 +++++++++++++ asm-commons-9.6.pom | 89 ++++++++++++++ asm-test-9.6.pom | 89 ++++++++++++++ asm-tree-9.6.pom | 83 +++++++++++++ asm-util-9.6.pom | 95 +++++++++++++++ generate-tarball.sh | 28 +++++ objectweb-asm-9.6-build.tar.xz | 3 + objectweb-asm-9.6.tar.xz | 3 + objectweb-asm.changes | 210 +++++++++++++++++++++++++++++++++ objectweb-asm.spec | 142 ++++++++++++++++++++++ 13 files changed, 980 insertions(+) create mode 100644 .gitattributes create mode 100644 asm-9.6.pom create mode 100644 asm-all.pom create mode 100644 asm-analysis-9.6.pom create mode 100644 asm-commons-9.6.pom create mode 100644 asm-test-9.6.pom create mode 100644 asm-tree-9.6.pom create mode 100644 asm-util-9.6.pom create mode 100644 generate-tarball.sh create mode 100644 objectweb-asm-9.6-build.tar.xz create mode 100644 objectweb-asm-9.6.tar.xz create mode 100644 objectweb-asm.changes create mode 100644 objectweb-asm.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/asm-9.6.pom b/asm-9.6.pom new file mode 100644 index 0000000..65717e8 --- /dev/null +++ b/asm-9.6.pom @@ -0,0 +1,75 @@ + + + 4.0.0 + org.ow2.asm + asm + 9.6 + asm + ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/asm-all.pom b/asm-all.pom new file mode 100644 index 0000000..3f03cc5 --- /dev/null +++ b/asm-all.pom @@ -0,0 +1,57 @@ + + + 4.0.0 + + org.ow2 + ow2 + 1.5 + + org.ow2.asm + asm-all + @VERSION@ + + + org.ow2.asm + asm + @VERSION@ + + + org.ow2.asm + asm-analysis + @VERSION@ + + + org.ow2.asm + asm-commons + @VERSION@ + + + org.ow2.asm + asm-tree + @VERSION@ + + + org.ow2.asm + asm-util + @VERSION@ + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.1.1 + + + package + + shade + + + + + + + diff --git a/asm-analysis-9.6.pom b/asm-analysis-9.6.pom new file mode 100644 index 0000000..c0ecccd --- /dev/null +++ b/asm-analysis-9.6.pom @@ -0,0 +1,83 @@ + + + 4.0.0 + org.ow2.asm + asm-analysis + 9.6 + asm-analysis + Static code analysis API of ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + + org.ow2.asm + asm-tree + 9.6 + compile + + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/asm-commons-9.6.pom b/asm-commons-9.6.pom new file mode 100644 index 0000000..eb241e0 --- /dev/null +++ b/asm-commons-9.6.pom @@ -0,0 +1,89 @@ + + + 4.0.0 + org.ow2.asm + asm-commons + 9.6 + asm-commons + Usefull class adapters based on ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + + org.ow2.asm + asm + 9.6 + compile + + + org.ow2.asm + asm-tree + 9.6 + compile + + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/asm-test-9.6.pom b/asm-test-9.6.pom new file mode 100644 index 0000000..b85f205 --- /dev/null +++ b/asm-test-9.6.pom @@ -0,0 +1,89 @@ + + + 4.0.0 + org.ow2.asm + asm-test + 9.6 + asm-test + Utilities for testing ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + + org.junit.jupiter + junit-jupiter-api + 5.9.1 + compile + + + org.junit.jupiter + junit-jupiter-params + 5.9.1 + compile + + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/asm-tree-9.6.pom b/asm-tree-9.6.pom new file mode 100644 index 0000000..3a73121 --- /dev/null +++ b/asm-tree-9.6.pom @@ -0,0 +1,83 @@ + + + 4.0.0 + org.ow2.asm + asm-tree + 9.6 + asm-tree + Tree API of ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + + org.ow2.asm + asm + 9.6 + compile + + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/asm-util-9.6.pom b/asm-util-9.6.pom new file mode 100644 index 0000000..084e7d2 --- /dev/null +++ b/asm-util-9.6.pom @@ -0,0 +1,95 @@ + + + 4.0.0 + org.ow2.asm + asm-util + 9.6 + asm-util + Utilities for ASM, a very small and fast Java bytecode manipulation framework + http://asm.ow2.io/ + 2000 + + OW2 + http://www.ow2.org/ + + + + BSD-3-Clause + https://asm.ow2.io/license.html + + + + + ebruneton + Eric Bruneton + ebruneton@free.fr + + Creator + Java Developer + + + + eu + Eugene Kuleshov + eu@javatx.org + + Java Developer + + + + forax + Remi Forax + forax@univ-mlv.fr + + Java Developer + + + + + + ASM Users List + https://mail.ow2.org/wws/subscribe/asm + asm@objectweb.org + https://mail.ow2.org/wws/arc/asm/ + + + ASM Team List + https://mail.ow2.org/wws/subscribe/asm-team + asm-team@objectweb.org + https://mail.ow2.org/wws/arc/asm-team/ + + + + scm:git:https://gitlab.ow2.org/asm/asm/ + scm:git:https://gitlab.ow2.org/asm/asm/ + https://gitlab.ow2.org/asm/asm/ + + + https://gitlab.ow2.org/asm/asm/issues + + + + org.ow2.asm + asm + 9.6 + compile + + + org.ow2.asm + asm-tree + 9.6 + compile + + + org.ow2.asm + asm-analysis + 9.6 + compile + + + + org.ow2 + ow2 + 1.5.1 + + diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100644 index 0000000..cd9b728 --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -e + +name=objectweb-asm +version="$(sed -n 's/Version:\s*//p' *.spec)" +gittag="ASM_${version//./_}" + +# RETRIEVE +wget "https://gitlab.ow2.org/asm/asm/-/archive/${gittag}/asm-${gittag}.tar.gz" -O "${name}-${version}.orig.tar.gz" + +rm -rf tarball-tmp +mkdir tarball-tmp +pushd tarball-tmp +tar -xzf "../${name}-${version}.orig.tar.gz" + +# Rename dir not to contain commit +mv asm-${gittag} ${name}-${version} + +# CLEAN TARBALL +# Remove all jar files +find -name '*.jar' -delete +# Remove all class files except those in asm-test, which are shipped alongside appropriately licensed source +find */asm{,-analysis,-commons} -name '*.class' -delete +rm -r */gradle + +tar -cJf "../${name}-${version}.tar.xz" * +popd +rm -r tarball-tmp "${name}-${version}.orig.tar.gz" diff --git a/objectweb-asm-9.6-build.tar.xz b/objectweb-asm-9.6-build.tar.xz new file mode 100644 index 0000000..25b9a98 --- /dev/null +++ b/objectweb-asm-9.6-build.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8b421379730cd9d8468b98245a878436f7018435cecab895afbc2db0bd6a303 +size 2756 diff --git a/objectweb-asm-9.6.tar.xz b/objectweb-asm-9.6.tar.xz new file mode 100644 index 0000000..154e3f7 --- /dev/null +++ b/objectweb-asm-9.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c4feeebfb5f641104a0434c2094311955ac6845f5211576321a1977ab3bd685 +size 573256 diff --git a/objectweb-asm.changes b/objectweb-asm.changes new file mode 100644 index 0000000..b01fd1f --- /dev/null +++ b/objectweb-asm.changes @@ -0,0 +1,210 @@ +------------------------------------------------------------------- +Tue Oct 17 05:26:11 UTC 2023 - Anton Shvetz + +- Upgrade to version 9.6 + * new Opcodes.V22 constant for Java 22 + * bug fixes + + 317991: Analyzer produces frames that have different locals + than those detected by JRE bytecode verifier + + 317995: Invalid stackmap generated when the instruction + stream has new instruction after invokespecial to + + 317998: Analyzer can fail to catch thrown exceptions + + 318002: asm-analysis Frame allocates an array unnecessarily + inside executeInvokeInsn + + bug in CheckFrameAnalyzer with static methods + +------------------------------------------------------------------- +Sun Apr 2 18:13:50 UTC 2023 - Anton Shvetz + +- Upgrade to version 9.5 + * new Opcodes.V21 constant for Java 21 + * new readBytecodeInstructionOffset hook in ClassReader + * more detailed exception messages + * Javadoc improvements and fixes + * bug fixes + + 317989: Silent removal of zero-valued entries from the + line-number table + +------------------------------------------------------------------- +Sun Jan 29 01:33:32 UTC 2023 - Anton Shvetz + +- Upgrade to version 9.4 + * new Opcodes.V20 constant for Java 20 + * more checks in CheckClassAdapter + * Javadoc improvements and fixes + * module-info classes can be built without Gradle and Bnd + * parent POM updated to org.ow2:ow2:1.5.1 + * bug fixes + + 317977: CheckClassAdapter is no longer transparent for MAXLOCALS + + 317981: Add public getDelegate method to all visitor classes + + Analyzer does not compute optimal maxLocals for static methods + + Fix SignatureWriter when a generic type has a depth over 30 + + Skip remap inner class name if not changed in Remapper + +------------------------------------------------------------------- +Wed Apr 20 07:35:37 UTC 2022 - David Anes + +- Upgrade to version 9.3 + * new Opcodes.V19 constant for Java 19 + * new size() method in ByteVector + * checkDataFlow option in CheckClassAdapter can now be used + without valid maxStack and maxLocals values + * new Maven BOM + * bug fixes + + 317949: fix javadoc errors + + remap invokedynamic field handles properly + + add missing left curly brace in ASMifier output of visitModule + +------------------------------------------------------------------- +Wed Mar 2 17:03:01 UTC 2022 - Fridrich Strba + +- Build asm as modular jar files to be used as such by java >= 9 +- Leave asm-all.jar as a non-modular jar + +------------------------------------------------------------------- +Wed Oct 20 19:54:36 UTC 2021 - Fridrich Strba + +- Upgrade to version 9.2 + * Up to JDK 18 support + * ClassReader.readStream() performance improvements + * Add some input validations in ClassReader + * Replace -debug flag in Printer with -nodebug (-debug continues + to work) + * new V15 constant + * experimental support for PermittedSubtypes and RecordComponent + * Javadoc fixes + * bug fixes + + 317942: ClassCheckAdaptor output represents reference arrays + as only their "root" component type + + 317921: Make Analyzer not require correct maxs or calculate + maxs fast + + 317922: InstructionAdapter shall throw consistent exceptions + + 317923: Incorrect documentation on ClassReader's use of + AnnotationVisitor + + 317929: ClassRemapper doesn't remap annotation values + + 317930: Can CheckClassAdapter.checkTypeRef throw a more + specific exception? + + 317931: Shall CheckMethodAdapter.Method.visitLabel throw + IllegalStateException? + + Tests that requires preview features should only run if the + preview features of the right JDK are enabled + + 317897: AdviceAdapter incorrectly emits onMethodEnter from a + try-catch block in a constructor + + 317900: Javadoc of ClassVisitor does not specify order of + visitRecordComponent + + 317904: Bug with constructors in AdviceAdapter + + 317910: Iterating over a InsnList with an iterator traverses + the list twice + + 317898: ASM 8 does not support writing of empty records + + 317896: Performance degradation when using dynamic constants + as a static paramet to another InDy/ConDy + + 317885: SKIP_DEBUG now skips MethodParameters attributes + +------------------------------------------------------------------- +Mon Nov 25 07:55:52 UTC 2019 - Fridrich Strba + +- Upgrade to version 7.2 + * Upstream dropped asm-xml submodule + +------------------------------------------------------------------- +Wed Mar 6 10:17:42 UTC 2019 - Fridrich Strba + +- Upgrade to version 6.2.1 +- Generate and customize the ant build system to be able to build + without gradle +- Removed patches: + * objectweb-asm-6.0-no_bnd.patch + * objectweb-asm-6.0-no_retrofit.patch + * objectweb-asm-6.0-sourcetarget.patch + * objectweb-asm-6.0-uberjar.patch + + not needed in this version + +------------------------------------------------------------------- +Tue Dec 11 14:03:41 UTC 2018 - Jan Engelhardt + +- Update RPM groups + +------------------------------------------------------------------- +Tue Dec 11 10:09:57 UTC 2018 - Fridrich Strba + +- Upgrade to version 6.0, the last version buildable with ant +- Removed patches: + * asm-3.3.1-jdk9.patch + * asm-3.3.1-sourcetarget.patch + * objectweb-asm-no-classpath-in-manifest.patch + + Not corresponding any more to the current state of code +- Added patches: + * objectweb-asm-6.0-no_bnd.patch + + Don't use bnd (which we don't have) to create bundles + * objectweb-asm-6.0-no_retrofit.patch + + Don't retrofit bytecode, since we build with target > 1.5 + * objectweb-asm-6.0-sourcetarget.patch + + Build with source/target 8 + * objectweb-asm-6.0-uberjar.patch + + Bring back the uberjars (asm-all.jar and asm-debug-all.jar) + since some packages might still depend on them + +------------------------------------------------------------------- +Wed May 16 07:57:32 UTC 2018 - fstrba@suse.com + +- Build with source and target 8 to prepare for a possible removal + of 1.6 compatibility +- Added patch: + * asm-3.3.1-jdk9.patch + + Since JDK9, "_" is reserved keyword + +------------------------------------------------------------------- +Wed Oct 4 08:01:47 UTC 2017 - fstrba@suse.com + +- Remove dependency on java-1_5_0-gcj-compat-devel +- Specify java source and target level 1.6 to allow building with + jdk9 +- Added patch: + * asm-3.3.1-sourcetarget.patch + + Don't hardcode the source and target levels, allow specifying + them on command-line + +------------------------------------------------------------------- +Fri May 19 12:01:04 UTC 2017 - dziolkowski@suse.com + +- New build dependency: javapackages-local +- cleaned spec using spec-cleaner +- remove "section free" macro +- get rid of %if 0 blocks + +------------------------------------------------------------------- +Wed Mar 18 09:46:18 UTC 2015 - tchvatal@suse.com + +- Fix build with new javapackages-tools + +------------------------------------------------------------------- +Wed Sep 25 12:03:11 UTC 2013 - mvyskocil@suse.com + +- Build with gcc-java as openjdk7 (1.7.0_40) fails to build it +- Disable javadoc package + +------------------------------------------------------------------- +Wed Sep 11 07:32:22 UTC 2013 - mvyskocil@suse.com + +- use add_maven_depmap from javapackages-tools + +------------------------------------------------------------------- +Mon Sep 9 11:06:16 UTC 2013 - tchvatal@suse.com + +- Move from jpackage-utils to javapackage-tools + +------------------------------------------------------------------- +Sun Dec 18 00:42:38 UTC 2011 - nlminhtl@gmail.com + +- 3.3.1 release + * added new InstructionAdapter class, TryCatchBlockSorter (provided by Adrian Sampson) + * improved extensibility of analysis package (patch from Markus Heiden) + * 314119 Provide read access to uninitializedTypes in AnalyzerAdapter + * 313804 Improve analysis results + * a lot of bugfixes + +------------------------------------------------------------------- +Tue Jun 2 14:50:36 CEST 2009 - mvyskocil@suse.cz + +- Initial SUSE packaging of objectweb-asm (from jpp 5.0) + diff --git a/objectweb-asm.spec b/objectweb-asm.spec new file mode 100644 index 0000000..f9eb78f --- /dev/null +++ b/objectweb-asm.spec @@ -0,0 +1,142 @@ +# +# spec file for package objectweb-asm +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: objectweb-asm +Version: 9.6 +Release: 0 +Summary: Java bytecode manipulation framework +License: BSD-3-Clause +Group: Development/Libraries/Java +URL: http://asm.objectweb.org/ +# ./generate-tarball.sh +Source0: %{name}-%{version}.tar.xz +Source1: %{name}-%{version}-build.tar.xz +Source2: https://repo1.maven.org/maven2/org/ow2/asm/asm/%{version}/asm-%{version}.pom +Source3: https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/%{version}/asm-analysis-%{version}.pom +Source4: https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/%{version}/asm-commons-%{version}.pom +Source5: https://repo1.maven.org/maven2/org/ow2/asm/asm-test/%{version}/asm-test-%{version}.pom +Source6: https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/%{version}/asm-tree-%{version}.pom +Source7: https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/asm-util-%{version}.pom +# We still want to create an "all" uberjar, so this is a custom pom to generate it +# TODO: Fix other packages to no longer depend on "asm-all" so we can drop this +Source9: asm-all.pom +# The source contains binary jars that cannot be verified for licensing and could be proprietary +Source10: generate-tarball.sh +BuildRequires: ant +BuildRequires: fdupes +BuildRequires: java-devel >= 1.8 +BuildRequires: javapackages-local +BuildRequires: xz +Obsoletes: %{name}-examples +BuildArch: noarch + +%description +ASM is a Java bytecode manipulation framework. + +It can be used to dynamically generate stub classes or other proxy +classes, directly in binary form, or to dynamically modify classes at +load time, i.e., just before they are loaded into the Java Virtual +Machine. + +ASM offers similar functionalities as BCEL or SERP, but is much +smaller. + +%package javadoc +Summary: Java bytecode manipulation framework +Group: Documentation/HTML + +%description javadoc +ASM is a Java bytecode manipulation framework. + +It can be used to dynamically generate stub classes or other proxy +classes, directly in binary form, or to dynamically modify classes at +load time, i.e., just before they are loaded into the Java Virtual +Machine. + +ASM offers similar functionalities as BCEL or SERP, but is much +smaller. + +%package examples +Summary: Java bytecode manipulation framework +Group: Development/Libraries/Java + +%description examples +ASM is a Java bytecode manipulation framework. + +It can be used to dynamically generate stub classes or other proxy +classes, directly in binary form, or to dynamically modify classes at +load time, i.e., just before they are loaded into the Java Virtual +Machine. + +ASM offers similar functionalities as BCEL or SERP, but is much +smaller. + +%prep +%setup -q -a1 +cp %{SOURCE2} asm/pom.xml +cp %{SOURCE3} asm-analysis/pom.xml +cp %{SOURCE4} asm-commons/pom.xml +cp %{SOURCE5} asm-test/pom.xml +cp %{SOURCE6} asm-tree/pom.xml +cp %{SOURCE7} asm-util/pom.xml +# Insert asm-all pom +mkdir -p asm-all +sed 's/@VERSION@/%{version}/g' %{SOURCE9} > asm-all/pom.xml + +for i in asm asm-analysis asm-commons asm-tree asm-util asm-all; do + %pom_remove_parent ${i} +done + +%build +%ant -Dproject.version=%{version} \ + package javadoc + +%install +# jars +install -dm 0755 %{buildroot}/%{_javadir}/%{name} +for i in asm asm-analysis asm-commons asm-tree asm-util asm-all; do + install -pm 0644 ${i}/target/${i}-%{version}.jar %{buildroot}/%{_javadir}/%{name}/${i}.jar +done + +# poms +install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name} +for i in asm asm-analysis asm-commons asm-tree asm-util; do + install -pm 0644 ${i}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/${i}.pom + %add_maven_depmap %{name}/${i}.pom %{name}/${i}.jar +done +install -pm 0644 asm-all/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/asm-all.pom +%add_maven_depmap %{name}/asm-all.pom %{name}/asm-all.jar -a org.ow2.asm:asm-debug-all + +# javadoc +install -dm 0755 %{buildroot}/%{_javadocdir}/%{name} +for i in asm asm-analysis asm-commons asm-tree asm-util; do + cp -pr ${i}/target/site/apidocs %{buildroot}/%{_javadocdir}/%{name}/${i} +done +%fdupes -s %{buildroot}/%{_javadocdir} + +# script +%jpackage_script org.objectweb.asm.xml.Processor "" "" %{name}/asm:%{name}/asm-util %{name}-processor true + +%files -f .mfiles +%license LICENSE.txt +%{_bindir}/%{name}-processor + +%files javadoc +%{_javadocdir}/%{name} + +%changelog