diff --git a/asm-3.3.1-jdk9.patch b/asm-3.3.1-jdk9.patch
deleted file mode 100644
index 9d81ed7..0000000
--- a/asm-3.3.1-jdk9.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- asm-3.3.1/src/org/objectweb/asm/util/CheckMethodAdapter.java 2010-12-19 09:35:58.000000000 +0100
-+++ asm-3.3.1/src/org/objectweb/asm/util/CheckMethodAdapter.java 2018-05-16 09:39:36.099879920 +0200
-@@ -1009,7 +1009,7 @@
- checkIdentifier(name, begin, slash, null);
- begin = slash + 1;
- } while (slash != max);
-- } catch (IllegalArgumentException _) {
-+ } catch (IllegalArgumentException ex) {
- throw new IllegalArgumentException("Invalid "
- + msg
- + " (must be a fully qualified class name in internal form): "
-@@ -1083,7 +1083,7 @@
- }
- try {
- checkInternalName(desc, start + 1, index, null);
-- } catch (IllegalArgumentException _) {
-+ } catch (IllegalArgumentException ex) {
- throw new IllegalArgumentException("Invalid descriptor: "
- + desc);
- }
diff --git a/asm-3.3.1-sourcetarget.patch b/asm-3.3.1-sourcetarget.patch
deleted file mode 100644
index 5602597..0000000
--- a/asm-3.3.1-sourcetarget.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- asm-3.3.1/build.xml 2009-07-11 17:56:57.000000000 +0200
-+++ asm-3.3.1/build.xml 2017-10-04 09:56:20.226981298 +0200
-@@ -170,7 +170,7 @@
-
-
-
--
-+
-
-
-
diff --git a/asm-3.3.1.pom b/asm-3.3.1.pom
deleted file mode 100644
index dbd6369..0000000
--- a/asm-3.3.1.pom
+++ /dev/null
@@ -1,14 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM Core
- asm
- jar
-
-
diff --git a/asm-3.3.1.tar.gz b/asm-3.3.1.tar.gz
deleted file mode 100644
index a2e7f9e..0000000
--- a/asm-3.3.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:69a523d41c82d7979c9b47271e31187e23c064e1d2a93b52950463bcb80197f5
-size 854626
diff --git a/asm-MANIFEST.MF b/asm-MANIFEST.MF
deleted file mode 100644
index 957741c..0000000
--- a/asm-MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.objectweb.asm
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Version: 3.3.1
-Bundle-Vendor: %providerName
-Export-Package: org.objectweb.asm;version="3.3.1",org.objectweb.asm.co
- mmons;version="3.3.1",org.objectweb.asm.signature;version="3.3.1",org
- .objectweb.asm.tree;version="3.3.1",org.objectweb.asm.tree.analysis;v
- ersion="3.3.1",org.objectweb.asm.util;version="3.3.1",org.objectweb.a
- sm.xml;version="3.3.1"
-
diff --git a/asm-all-3.3.1.pom b/asm-all-3.3.1.pom
deleted file mode 100644
index 23a130b..0000000
--- a/asm-all-3.3.1.pom
+++ /dev/null
@@ -1,15 +0,0 @@
-
- 4.0.0
-
-
- asm
- asm-parent
- 3.3.1
-
-
- ASM All
- asm
- asm-all
- jar
-
-
diff --git a/asm-analysis-3.3.1.pom b/asm-analysis-3.3.1.pom
deleted file mode 100644
index 1f7d936..0000000
--- a/asm-analysis-3.3.1.pom
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM Analysis
- asm-analysis
- jar
-
-
-
- asm-tree
- asm
-
-
-
-
diff --git a/asm-commons-3.3.1.pom b/asm-commons-3.3.1.pom
deleted file mode 100644
index a7adfc5..0000000
--- a/asm-commons-3.3.1.pom
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM Commons
- asm-commons
- jar
-
-
-
- asm-tree
- asm
-
-
-
-
diff --git a/asm-parent-3.3.1.pom b/asm-parent-3.3.1.pom
deleted file mode 100644
index 107d62e..0000000
--- a/asm-parent-3.3.1.pom
+++ /dev/null
@@ -1,144 +0,0 @@
-
- 4.0.0
-
- asm-parent
- asm
- 3.3.1
- pom
-
- ASM
- A very small and fast Java bytecode manipulation framework
- http://asm.objectweb.org/
-
-
- ObjectWeb
- http://www.objectweb.org/
-
- 2000
-
-
-
- BSD
- http://asm.objectweb.org/license.html
-
-
-
-
-
- Eric Bruneton
- ebruneton
- ebruneton@free.fr
-
- Creator
- Java Developer
-
-
-
- Eugene Kuleshov
- eu
- eu@javatx.org
-
- Java Developer
-
-
-
- Remi Forax
- forax
- forax@univ-mlv.fr
-
- Java Developer
-
-
-
-
-
- scm:svn:svn://svn.forge.objectweb.org/svnroot/asm/trunk
- scm:svn:svn+ssh://${maven.username}@svn.forge.objectweb.org/svnroot/asm/trunk
- http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/asm/trunk/
-
-
-
- http://forge.objectweb.org/tracker/?group_id=23
-
-
-
-
-
-
- asm
- ${project.groupId}
- ${project.version}
-
-
-
- asm-tree
- ${project.groupId}
- ${project.version}
-
-
-
- asm-analysis
- ${project.groupId}
- ${project.version}
-
-
-
- asm-commons
- ${project.groupId}
- ${project.version}
-
-
-
- asm-util
- ${project.groupId}
- ${project.version}
-
-
-
- asm-xml
- ${project.groupId}
- ${project.version}
-
-
-
-
-
-
-
- ASM Users List
- sympa@ow2.org?subject=subscribe%20asm
- sympa@ow2.org?subject=unsubscribe%20asm
- asm@ow2.org
- http://www.ow2.org/wws/arc/asm
-
-
- ASM Team List
- sympa@ow2.org?subject=subscribe%20asm-team
- sympa@ow2.org?subject=unsubscribe%20asm-team
- asm-team@ow2.org
- http://www.ow2.org/wws/arc/asm-team
-
-
-
-
- http://mojo.codehaus.org/my-project
-
- objectweb
- false
- ObjectWeb Maven 2.0 Repository
- dav:https://maven.forge.objectweb.org:8002/maven2/
- default
-
-
- objectweb.snapshots
- false
- ObjectWeb Maven 2.0 Snapshot Repository
- dav:https://maven.forge.objectweb.org:8002/maven2-snapshot/
- default
-
-
-
-
diff --git a/asm-tree-3.3.1.pom b/asm-tree-3.3.1.pom
deleted file mode 100644
index 663a0bb..0000000
--- a/asm-tree-3.3.1.pom
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM Tree
- asm-tree
- jar
-
-
-
- asm
- asm
-
-
-
-
diff --git a/asm-util-3.3.1.pom b/asm-util-3.3.1.pom
deleted file mode 100644
index b425318..0000000
--- a/asm-util-3.3.1.pom
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM Util
- asm-util
- jar
-
-
-
- asm-tree
- asm
-
-
-
-
diff --git a/asm-xml-3.3.1.pom b/asm-xml-3.3.1.pom
deleted file mode 100644
index 0b75771..0000000
--- a/asm-xml-3.3.1.pom
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
-
- asm-parent
- asm
- 3.3.1
-
-
- ASM XML
- asm-xml
- jar
-
-
-
- asm-util
- asm
-
-
-
-
diff --git a/generate-tarball.sh b/generate-tarball.sh
new file mode 100644
index 0000000..11c0ae4
--- /dev/null
+++ b/generate-tarball.sh
@@ -0,0 +1,25 @@
+#!/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/repository/${gittag}/archive.tar.gz#/${name}-${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
+
+rm -rf tarball-tmp
+mkdir tarball-tmp
+cd tarball-tmp
+tar xf "../${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
+
+tar cJf "../${name}-${version}.tar.xz" *
+cd ..
+rm -r tarball-tmp "${name}-${version}.orig.tar.gz"
diff --git a/objectweb-asm-6.0-no_bnd.patch b/objectweb-asm-6.0-no_bnd.patch
new file mode 100644
index 0000000..19b0f8a
--- /dev/null
+++ b/objectweb-asm-6.0-no_bnd.patch
@@ -0,0 +1,258 @@
+--- objectweb-asm-6.0/archive/asm-all.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-all.xml 2018-12-11 10:20:37.851607047 +0100
+@@ -34,14 +34,25 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-analysis.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-analysis.xml 2018-12-11 10:19:23.011226060 +0100
+@@ -33,13 +33,15 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-commons.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-commons.xml 2018-12-11 10:19:23.011226060 +0100
+@@ -33,13 +33,15 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-debug-all.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-debug-all.xml 2018-12-11 10:21:41.675931989 +0100
+@@ -34,14 +34,25 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-tree.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-tree.xml 2018-12-11 10:19:23.011226060 +0100
+@@ -33,13 +33,15 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-util.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-util.xml 2018-12-11 10:19:23.011226060 +0100
+@@ -34,12 +34,15 @@
+
+
+
+-
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm.xml 2018-12-11 10:19:23.011226060 +0100
+@@ -33,13 +33,16 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/archive/asm-xml.xml 2018-12-11 10:19:05.855138717 +0100
++++ objectweb-asm-6.0/archive/asm-xml.xml 2018-12-11 10:19:23.015226080 +0100
+@@ -33,13 +33,17 @@
+
+
+
+-
+-
++
++
++
++
++
++
++
++
++
++
+
+
+
+--- objectweb-asm-6.0/build.xml 2018-12-11 10:19:05.843138654 +0100
++++ objectweb-asm-6.0/build.xml 2018-12-11 10:22:41.928238728 +0100
+@@ -79,7 +79,6 @@
+
+
+
+-
+
+
+
+@@ -131,7 +130,6 @@
+
+
+
+-
+
+
+
+@@ -256,14 +254,7 @@
+
+
+
+-
+-
+-
+-
+-
+-
++
+
+
+
diff --git a/objectweb-asm-6.0-no_retrofit.patch b/objectweb-asm-6.0-no_retrofit.patch
new file mode 100644
index 0000000..1eacef3
--- /dev/null
+++ b/objectweb-asm-6.0-no_retrofit.patch
@@ -0,0 +1,32 @@
+--- objectweb-asm-6.0/build.xml 2018-12-11 10:23:24.592455922 +0100
++++ objectweb-asm-6.0/build.xml 2018-12-11 10:25:57.477234079 +0100
+@@ -137,19 +137,7 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
+
+
+
+@@ -254,7 +242,7 @@
+
+
+
+-
++
+
+
+
diff --git a/objectweb-asm-6.0-sourcetarget.patch b/objectweb-asm-6.0-sourcetarget.patch
new file mode 100644
index 0000000..303035d
--- /dev/null
+++ b/objectweb-asm-6.0-sourcetarget.patch
@@ -0,0 +1,21 @@
+--- objectweb-asm-6.0/build.xml 2018-12-11 10:17:16.622582636 +0100
++++ objectweb-asm-6.0/build.xml 2018-12-11 10:17:41.218707834 +0100
+@@ -48,6 +48,9 @@
+
+
+
++
++
++
+
+
+
+@@ -125,7 +128,7 @@
+
+
+
+-
++
+
+
+
diff --git a/objectweb-asm-6.0-uberjar.patch b/objectweb-asm-6.0-uberjar.patch
new file mode 100644
index 0000000..36ad929
--- /dev/null
+++ b/objectweb-asm-6.0-uberjar.patch
@@ -0,0 +1,398 @@
+--- objectweb-asm-6.0/archive/asm-all.bnd 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-all.bnd 2018-12-11 10:11:51.216926166 +0100
+@@ -0,0 +1,60 @@
++###############################################################################
++#ASM: a very small and fast Java bytecode manipulation framework
++#Copyright (c) 2000-2011 INRIA, France Telecom
++#All rights reserved.
++#
++#Redistribution and use in source and binary forms, with or without
++#modification, are permitted provided that the following conditions
++#are met:
++#1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++#2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#3. Neither the name of the copyright holders nor the names of its
++# contributors may be used to endorse or promote products derived from
++# this software without specific prior written permission.
++#
++#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++#AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++#IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++#ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++#LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++#INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++#CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++#ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
++#THE POSSIBILITY OF SUCH DAMAGE.
++###############################################################################
++
++
++Implementation-Title: ASM all classes
++Implementation-Version: ${product.artifact}
++Implementation-Vendor: France Telecom R&D
++
++Bundle-Name: ASM all classes with debug info
++Bundle-Vendor: France Telecom R&D
++Bundle-Version: ${product.artifact}
++Bundle-DocURL: http://asm.objectweb.org
++Bundle-SymbolicName: org.objectweb.asm.all
++
++Export-Package: \
++ !org.objectweb.asm.optimizer.*,\
++ org.objectweb.asm.*;version=${product.artifact}
++
++Import-Package: \
++ javax.xml.transform.*;resolution:="optional",\
++ org.xml.sax.*;resolution:="optional"
++
++Bundle-RequiredExecutionEnvironment: J2SE-1.3
++
++-removeheaders:\
++ ANNV,\
++ DSTAMP,\
++ FRAMESV,\
++ RESIZEV,\
++ SIGV,\
++ TODAY,\
++ TSTAMP,\
++ WRITERV
+--- objectweb-asm-6.0/archive/asm-all.pom 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-all.pom 2018-12-11 10:11:51.216926166 +0100
+@@ -0,0 +1,45 @@
++
++
++
++ 4.0.0
++
++
++ org.ow2.asm
++ asm-parent
++ @product.artifact@
++
++
++ ASM All
++ org.ow2.asm
++ asm-all
++ jar
++
++
+--- objectweb-asm-6.0/archive/asm-all.xml 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-all.xml 2018-12-11 10:11:51.216926166 +0100
+@@ -0,0 +1,62 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ It is highly recommended to use only the necessary ASM jars for your
++application instead of using the asm-all jar, unless you really need
++all ASM packages.
++
++
++
++
++
++
++
++
++
++
+\ No newline at end of file
+--- objectweb-asm-6.0/archive/asm-debug-all.bnd 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-debug-all.bnd 2018-12-11 10:13:34.301450902 +0100
+@@ -0,0 +1,60 @@
++###############################################################################
++#ASM: a very small and fast Java bytecode manipulation framework
++#Copyright (c) 2000-2011 INRIA, France Telecom
++#All rights reserved.
++#
++#Redistribution and use in source and binary forms, with or without
++#modification, are permitted provided that the following conditions
++#are met:
++#1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++#2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#3. Neither the name of the copyright holders nor the names of its
++# contributors may be used to endorse or promote products derived from
++# this software without specific prior written permission.
++#
++#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++#AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++#IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++#ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++#LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++#INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++#CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++#ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
++#THE POSSIBILITY OF SUCH DAMAGE.
++###############################################################################
++
++
++Implementation-Title: ASM all classes with debug info
++Implementation-Version: ${product.artifact}
++Implementation-Vendor: France Telecom R&D
++
++Bundle-Name: ASM all classes with debug info
++Bundle-Vendor: France Telecom R&D
++Bundle-Version: ${product.artifact}
++Bundle-DocURL: http://asm.objectweb.org
++Bundle-SymbolicName: org.objectweb.asm.all.debug
++
++Export-Package: \
++ !org.objectweb.asm.optimizer.*,\
++ org.objectweb.asm.*;version=${product.artifact}
++
++Import-Package: \
++ javax.xml.transform.*;resolution:="optional",\
++ org.xml.sax.*;resolution:="optional"
++
++Bundle-RequiredExecutionEnvironment: J2SE-1.5
++
++-removeheaders:\
++ ANNV,\
++ DSTAMP,\
++ FRAMESV,\
++ RESIZEV,\
++ SIGV,\
++ TODAY,\
++ TSTAMP,\
++ WRITERV
+--- objectweb-asm-6.0/archive/asm-debug-all.pom 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-debug-all.pom 2018-12-11 10:13:34.301450902 +0100
+@@ -0,0 +1,45 @@
++
++
++
++ 4.0.0
++
++
++ org.ow2.asm
++ asm-parent
++ @product.artifact@
++
++
++ ASM Debug All
++ org.ow2.asm
++ asm-debug-all
++ jar
++
++
+--- objectweb-asm-6.0/archive/asm-debug-all.xml 1970-01-01 01:00:00.000000000 +0100
++++ objectweb-asm-6.0/archive/asm-debug-all.xml 2018-12-11 10:13:34.301450902 +0100
+@@ -0,0 +1,62 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ It is highly recommended to use only the necessary ASM jars for your
++application instead of using the asm-all jar, unless you really need
++all ASM packages.
++
++
++
++
++
++
++
++
++
++
+\ No newline at end of file
+--- objectweb-asm-6.0/build.xml 2017-09-23 08:20:04.000000000 +0200
++++ objectweb-asm-6.0/build.xml 2018-12-11 10:15:11.449945414 +0100
+@@ -262,8 +262,10 @@
+
+
+
++
+
+
++
+
+
+
+@@ -613,6 +615,30 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+
diff --git a/objectweb-asm-6.0.tar.xz b/objectweb-asm-6.0.tar.xz
new file mode 100644
index 0000000..7788568
--- /dev/null
+++ b/objectweb-asm-6.0.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bbb74a8014181dc34f6197f24a54d5ad5b04fbdf3b44e03dac86097f83c49cbd
+size 508156
diff --git a/objectweb-asm-no-classpath-in-manifest.patch b/objectweb-asm-no-classpath-in-manifest.patch
deleted file mode 100644
index 808c0a6..0000000
--- a/objectweb-asm-no-classpath-in-manifest.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- asm-3.2/archive/asm-xml.xml.orig 2010-04-19 11:25:13.000000000 -0400
-+++ asm-3.2/archive/asm-xml.xml 2010-04-19 11:25:21.000000000 -0400
-@@ -10,7 +10,6 @@
-
-
-
--
-
-
-
diff --git a/objectweb-asm.spec b/objectweb-asm.spec
index 375fc78..8467bf8 100644
--- a/objectweb-asm.spec
+++ b/objectweb-asm.spec
@@ -12,40 +12,31 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: objectweb-asm
-Version: 3.3.1
+Version: 6.0
Release: 0
-Summary: A code manipulation tool to implement adaptable systems
+Summary: Java bytecode manipulation framework
License: BSD-3-Clause
Group: Development/Libraries/Java
-Url: http://asm.objectweb.org/
-Source0: http://download.forge.objectweb.org/asm/asm-3.3.1.tar.gz
-Source1: http://repo1.maven.org/maven2/asm/asm/3.3.1/asm-3.3.1.pom
-Source2: http://repo1.maven.org/maven2/asm/asm-analysis/3.3.1/asm-analysis-3.3.1.pom
-Source3: http://repo1.maven.org/maven2/asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
-Source4: http://repo1.maven.org/maven2/asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
-Source5: http://repo1.maven.org/maven2/asm/asm-util/3.3.1/asm-util-3.3.1.pom
-Source6: http://repo1.maven.org/maven2/asm/asm-xml/3.3.1/asm-xml-3.3.1.pom
-Source7: http://repo1.maven.org/maven2/asm/asm-all/3.3.1/asm-all-3.3.1.pom
-Source8: http://repo1.maven.org/maven2/asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
-Source9: asm-MANIFEST.MF
-Patch0: objectweb-asm-no-classpath-in-manifest.patch
-Patch1: asm-3.3.1-sourcetarget.patch
-Patch2: asm-3.3.1-jdk9.patch
-BuildRequires: ant >= 1.6.5
+URL: http://asm.objectweb.org/
+# ./generate-tarball.sh
+Source0: %{name}-%{version}.tar.xz
+# The source contains binary jars that cannot be verified for licensing and could be proprietary
+Source1: generate-tarball.sh
+Patch0: %{name}-%{version}-uberjar.patch
+Patch1: %{name}-%{version}-sourcetarget.patch
+Patch2: %{name}-%{version}-no_bnd.patch
+Patch3: %{name}-%{version}-no_retrofit.patch
+BuildRequires: ant
+BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local
-BuildRequires: javapackages-tools
BuildRequires: objectweb-anttask
-BuildRequires: xml-commons-apis
-BuildRequires: zip
-# Needed by asm-xml.jar
-Requires: xml-commons-apis
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: xz
BuildArch: noarch
%description
@@ -59,66 +50,106 @@ Machine.
ASM offers similar functionalities as BCEL or SERP, but is much
smaller.
+%package javadoc
+Summary: Java bytecode manipulation framework
+Group: Development/Libraries/Java
+
+%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 -n asm-%{version}
+%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
-perl -pi -e 's/\r$//g' LICENSE.txt README.txt
-mkdir META-INF
-cp -p %{SOURCE9} META-INF/MANIFEST.MF
+rm -f src/org/objectweb/asm/tools/ModuleInfoBndPlugin.java
+%patch3 -p1
+# wrong end of line encoding
+find examples/ -type 'f' | xargs sed -i -e 's/.$//'
+sed -i -e 's/.$//' README.txt LICENSE.txt
+mkdir -p test/lib
%build
-export CLASSPATH=
-export OPT_JAR_LIST=:
ant \
+ -Dcompile.source=8 -Dcompile.target=8 \
-Dobjectweb.ant.tasks.path=$(build-classpath objectweb-anttask) \
- -Dant.build.javac.source=8 -Dant.build.javac.target=8 \
- jar
+ dist.version jar jdoc
%install
+install -d -m 755 %{buildroot}/%{_javadir}/%{name}
# jars
-install -d -m 755 %{buildroot}%{_javadir}/%{name}
-for jar in output/dist/lib/*.jar; do
-install -m 644 ${jar} \
-%{buildroot}%{_javadir}/%{name}/`basename ${jar} | sed 's/-%{version}//g'`
-done
-touch META-INF/MANIFEST.MF
-zip -u output/dist/lib/all/asm-all-%{version}.jar META-INF/MANIFEST.MF
-install -m 644 output/dist/lib/all/asm-all-%{version}.jar %{buildroot}%{_javadir}/%{name}/asm-all.jar
+install -m 644 output/dist/lib/*jar %{buildroot}/%{_javadir}/%{name}
+(cd %{buildroot}%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} ${jar/-%{version}/}; done)
+
+install -m 644 output/dist/lib/all/asm-all-%{version}.jar \
+ %{buildroot}%{_javadir}/%{name}-all-%{version}.jar
+(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
# pom
-install -d -m 755 %{buildroot}%{_mavenpomdir}
-install -m 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm.pom
-%add_maven_depmap JPP.objectweb-asm-asm.pom %{name}/asm.jar
+install -d -m 755 %{buildroot}%{_mavenpomdir}/%{name}
-install -m 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-analysis.pom
-%add_maven_depmap JPP.objectweb-asm-asm-analysis.pom %{name}/asm-analysis.jar
+install -pm 644 output/dist/lib/all/asm-all-%{version}.pom %{buildroot}%{_mavenpomdir}/%{name}-all-%{version}.pom
+%add_maven_depmap %{name}-all-%{version}.pom %{name}-all-%{version}.jar
-install -m 644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-commons.pom
-%add_maven_depmap JPP.objectweb-asm-asm-commons.pom %{name}/asm-commons.jar
+install -pm 644 output/dist/lib/asm-%{version}.pom %{buildroot}%{_mavenpomdir}/%{name}/asm-%{version}.pom
+%add_maven_depmap %{name}/asm-%{version}.pom %{name}/asm-%{version}.jar
-install -m 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-tree.pom
-%add_maven_depmap JPP.objectweb-asm-asm-tree.pom %{name}/asm-tree.jar
+install -pm 644 output/dist/lib/asm-parent-%{version}.pom %{buildroot}%{_mavenpomdir}/%{name}/asm-parent-%{version}.pom
+%add_maven_depmap %{name}/asm-parent-%{version}.pom
-install -m 644 %{SOURCE5} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-util.pom
-%add_maven_depmap JPP.objectweb-asm-asm-util.pom %{name}/asm-util.jar
+for i in analysis commons tree util xml; do
+ install -pm 644 output/dist/lib/asm-$i-%{version}.pom %{buildroot}%{_mavenpomdir}/%{name}/asm-$i-%{version}.pom
+ %add_maven_depmap %{name}/asm-$i-%{version}.pom %{name}/asm-$i-%{version}.jar
+done
-install -m 644 %{SOURCE6} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-xml.pom
-%add_maven_depmap JPP.objectweb-asm-asm-xml.pom %{name}/asm-xml.jar
-
-install -m 644 %{SOURCE7} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-all.pom
-%add_maven_depmap JPP.objectweb-asm-asm-all.pom %{name}/asm-all.jar
-
-install -m 644 %{SOURCE8} %{buildroot}%{_mavenpomdir}/JPP.objectweb-asm-asm-parent.pom
-%add_maven_depmap JPP.objectweb-asm-asm-all.pom %{name}/asm-all.jar
+# javadoc
+install -d -m 755 %{buildroot}/%{_javadocdir}/%{name}-%{version}
+cp -pr output/dist/doc/javadoc/user/* %{buildroot}/%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} %{buildroot}/%{_javadocdir}/%{name}
+%fdupes -s %{buildroot}
+%fdupes -s examples/
%files
-%defattr(0644,root,root,0755)
-%doc LICENSE.txt README.txt
-%dir %{_javadir}/%{name}
-%{_javadir}/%{name}/*.jar
-%{_mavenpomdir}/*
+%license LICENSE.txt
+%doc README.txt
+%{_javadir}/%{name}-all*.jar
+%{_javadir}/%{name}
+%{_mavenpomdir}/%{name}-all-%{version}.pom
+%{_mavenpomdir}/%{name}
+%if %{defined _maven_repository}
+%{_mavendepmapfragdir}/%{name}
+%else
%{_datadir}/maven-metadata/%{name}.xml*
+%endif
+
+%files javadoc
+%{_javadocdir}/%{name}-%{version}
+%{_javadocdir}/%{name}
+
+%files examples
+%doc examples/*
%changelog