diff --git a/.gitignore b/.gitignore index 87f8cf7..ee9f857 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /*.src.rpm /noarch /asm-* +/archive.tar.gz +/parent.pom diff --git a/0001-Revert-removal-of-asm-all.patch b/0001-Revert-removal-of-asm-all.patch deleted file mode 100644 index 47415c8..0000000 --- a/0001-Revert-removal-of-asm-all.patch +++ /dev/null @@ -1,420 +0,0 @@ -From b99cee6776d45dd79248ba04de516f9d259229f9 Mon Sep 17 00:00:00 2001 -From: Michael Simacek -Date: Tue, 26 Sep 2017 17:41:25 +0300 -Subject: [PATCH] Revert removal of asm-all - ---- - archive/asm-all.bnd | 70 +++++++++++++++++++++++++++++++++++++++++++++++ - archive/asm-all.pom | 45 ++++++++++++++++++++++++++++++ - archive/asm-all.xml | 57 ++++++++++++++++++++++++++++++++++++++ - archive/asm-debug-all.bnd | 69 ++++++++++++++++++++++++++++++++++++++++++++++ - archive/asm-debug-all.pom | 45 ++++++++++++++++++++++++++++++ - archive/asm-debug-all.xml | 61 +++++++++++++++++++++++++++++++++++++++++ - build.xml | 2 ++ - 7 files changed, 349 insertions(+) - create mode 100644 archive/asm-all.bnd - create mode 100644 archive/asm-all.pom - create mode 100644 archive/asm-all.xml - create mode 100644 archive/asm-debug-all.bnd - create mode 100644 archive/asm-debug-all.pom - create mode 100644 archive/asm-debug-all.xml - -diff --git a/archive/asm-all.bnd b/archive/asm-all.bnd -new file mode 100644 -index 00000000..ea0584c0 ---- /dev/null -+++ b/archive/asm-all.bnd -@@ -0,0 +1,70 @@ -+############################################################################### -+#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;version=${product.artifact},\ -+ org.objectweb.asm.commons;version=${product.artifact},\ -+ org.objectweb.asm.signature;version=${product.artifact},\ -+ org.objectweb.asm.tree;version=${product.artifact},\ -+ org.objectweb.asm.tree.analysis;version=${product.artifact},\ -+ org.objectweb.asm.util;version=${product.artifact},\ -+ org.objectweb.asm.xml;version=${product.artifact} -+ -+Import-Package: \ -+ javax.xml.transform.*;resolution:="optional",\ -+ org.xml.sax.*;resolution:="optional" -+ -+Module-Requires: \ -+ java.xml;transitive=true -+ -+Bundle-RequiredExecutionEnvironment: J2SE-1.4 -+ -+-pluginpath: \ -+ ${out.build}/bnd-module-plugin.jar -+ -+-plugin.asm: \ -+ org.objectweb.asm.tools.ModuleInfoBndPlugin; -+ -+ -+-removeheaders:\ -+ DSTAMP,\ -+ TODAY,\ -+ TSTAMP -diff --git a/archive/asm-all.pom b/archive/asm-all.pom -new file mode 100644 -index 00000000..d4f123b0 ---- /dev/null -+++ b/archive/asm-all.pom -@@ -0,0 +1,45 @@ -+ -+ -+ -+ 4.0.0 -+ -+ -+ org.ow2.asm -+ asm-parent -+ @product.artifact@ -+ -+ -+ ASM All -+ org.ow2.asm -+ asm-all -+ jar -+ -+ -diff --git a/archive/asm-all.xml b/archive/asm-all.xml -new file mode 100644 -index 00000000..96353561 ---- /dev/null -+++ b/archive/asm-all.xml -@@ -0,0 +1,57 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/archive/asm-debug-all.bnd b/archive/asm-debug-all.bnd -new file mode 100644 -index 00000000..c9c75a00 ---- /dev/null -+++ b/archive/asm-debug-all.bnd -@@ -0,0 +1,69 @@ -+############################################################################### -+#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;version=${product.artifact},\ -+ org.objectweb.asm.commons;version=${product.artifact},\ -+ org.objectweb.asm.signature;version=${product.artifact},\ -+ org.objectweb.asm.tree;version=${product.artifact},\ -+ org.objectweb.asm.tree.analysis;version=${product.artifact},\ -+ org.objectweb.asm.util;version=${product.artifact},\ -+ org.objectweb.asm.xml;version=${product.artifact} -+ -+Import-Package: \ -+ javax.xml.transform.*;resolution:="optional",\ -+ org.xml.sax.*;resolution:="optional" -+ -+Module-Requires: \ -+ java.xml;transitive=true -+ -+Bundle-RequiredExecutionEnvironment: J2SE-1.5 -+ -+-pluginpath: \ -+ ${out.build}/bnd-module-plugin.jar -+ -+-plugin.asm: \ -+ org.objectweb.asm.tools.ModuleInfoBndPlugin; -+ -+-removeheaders:\ -+ DSTAMP,\ -+ TODAY,\ -+ TSTAMP -diff --git a/archive/asm-debug-all.pom b/archive/asm-debug-all.pom -new file mode 100644 -index 00000000..ad88584b ---- /dev/null -+++ b/archive/asm-debug-all.pom -@@ -0,0 +1,45 @@ -+ -+ -+ -+ 4.0.0 -+ -+ -+ org.ow2.asm -+ asm-parent -+ @product.artifact@ -+ -+ -+ ASM Debug All -+ org.ow2.asm -+ asm-debug-all -+ jar -+ -+ -diff --git a/archive/asm-debug-all.xml b/archive/asm-debug-all.xml -new file mode 100644 -index 00000000..7a24fa27 ---- /dev/null -+++ b/archive/asm-debug-all.xml -@@ -0,0 +1,61 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ 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. -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/build.xml b/build.xml -index 8a3c2e23..541e6dd4 100644 ---- a/build.xml -+++ b/build.xml -@@ -262,6 +262,8 @@ - - - -+ -+ - - - --- -2.13.5 - diff --git a/objectweb-asm.spec b/objectweb-asm.spec index 77c28ac..914419d 100644 --- a/objectweb-asm.spec +++ b/objectweb-asm.spec @@ -1,22 +1,35 @@ +%global gittag ASM_6_1_1 + Name: objectweb-asm -Version: 6.0 -Release: 2%{?dist} +Version: 6.1.1 +Release: 1%{?dist} Summary: Java bytecode manipulation and analysis framework License: BSD URL: http://asm.ow2.org/ BuildArch: noarch -Source0: http://download.forge.ow2.org/asm/asm-%{version}.tar.gz -Source1: http://www.apache.org/licenses/LICENSE-2.0.txt +Source0: https://gitlab.ow2.org/asm/asm/repository/%{gittag}/archive.tar.gz +Source1: parent.pom +Source2: http://repo1.maven.org/maven2/org/ow2/asm/asm/%{version}/asm-%{version}.pom +Source3: http://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/%{version}/asm-analysis-%{version}.pom +Source4: http://repo1.maven.org/maven2/org/ow2/asm/asm-commons/%{version}/asm-commons-%{version}.pom +Source5: http://repo1.maven.org/maven2/org/ow2/asm/asm-test/%{version}/asm-test-%{version}.pom +Source6: http://repo1.maven.org/maven2/org/ow2/asm/asm-tree/%{version}/asm-tree-%{version}.pom +Source7: http://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/asm-util-%{version}.pom +Source8: http://repo1.maven.org/maven2/org/ow2/asm/asm-xml/%{version}/asm-xml-%{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-%{version}.pom -# Temporarily reintroduces asm-all uberjar, will be removed when we have time -# to fix dependent packages -Patch1: 0001-Revert-removal-of-asm-all.patch - -BuildRequires: ant -BuildRequires: aqute-bnd -BuildRequires: javapackages-local -BuildRequires: objectweb-pom +BuildRequires: maven-local +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) +BuildRequires: mvn(org.codehaus.janino:janino) +BuildRequires: mvn(org.junit.jupiter:junit-jupiter-api) +BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine) +BuildRequires: mvn(org.junit.jupiter:junit-jupiter-params) +BuildRequires: mvn(org.junit.platform:junit-platform-surefire-provider) +BuildRequires: mvn(org.ow2:ow2:pom:) %description ASM is an all purpose Java bytecode manipulation and analysis @@ -32,39 +45,87 @@ Summary: API documentation for %{name} This package provides %{summary}. %prep -%setup -q -n asm-%{version} - -%patch1 -p1 +%setup -q -n asm-%{gittag}-11b3cabce9b90706cf91a47dd15215c667f8055b find -name *.jar -delete +rm -rf gradle/ -sed -i /Class-Path/d archive/*.bnd -sed -i "s/Import-Package:/&org.objectweb.asm,org.objectweb.asm.util,/" archive/asm-xml.bnd -sed -i "s|\${config}/biz.aQute.bnd.jar|`build-classpath aqute-bnd slf4j/api slf4j/simple osgi-core osgi-compendium`|" archive/*.xml -sed -i -e '/kind="lib"/d' -e 's|output/eclipse|output/build|' .classpath +# A custom parent pom to aggregate the build +cp -p %{SOURCE1} pom.xml + +# Insert poms into modules +for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util asm-xml; do + cp -p $RPM_SOURCE_DIR/${pom}-%{version}.pom $pom/pom.xml + # Fix junit5 configuration + %pom_add_dep org.junit.jupiter:junit-jupiter-engine:5.1.0:test $pom + %pom_add_plugin org.apache.maven.plugins:maven-surefire-plugin:2.21.0 $pom \ +" + + org.junit.platform + junit-platform-surefire-provider + 1.2.0-RC1 + + " + if [ "$pom" != "asm-test" ] ; then + # Make into OSGi bundles + bsn="org.objectweb.${pom//-/.}" + %pom_xpath_inject pom:project "bundle" $pom + %pom_add_plugin org.apache.felix:maven-bundle-plugin:3.5.0 $pom \ +" true + + + $bsn + JavaSE-1.8 + <_removeheaders>Bnd-LastModified,Build-By,Created-By,Include-Resource,Require-Capability,Tool + <_pluginpath>$(pwd)/tools/bnd-module-plugin/bnd-module-plugin.jar + <_plugin>org.objectweb.asm.tools.ModuleInfoBndPlugin; + + " + fi +done + +# Insert asm-all pom +mkdir -p asm-all +cp -p %{SOURCE9} asm-all/pom.xml + +# Remove invalid self-dependency +%pom_remove_dep org.ow2.asm:asm-test asm-test + +# Compat aliases +%mvn_alias :asm-all org.ow2.asm:asm-debug-all + +# No need to ship the custom parent pom +%mvn_package :asm-aggregator __noinstall +# Don't ship the test framework to avoid runtime dep on junit +%mvn_package :asm-test __noinstall %build -%ant -Dobjectweb.ant.tasks.path= -Dbiz.aQute.bnd.path= jar jdoc +# Must compile bnd plugin first, which is used to generate Java 9 module-info.class files +pushd tools/bnd-module-plugin +javac -sourcepath ../../asm/src/main/java/ -cp $(build-classpath aqute-bnd) $(find -name *.java) +jar cf bnd-module-plugin.jar -C src/main/java org +popd + +%mvn_build -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 %install -%mvn_artifact output/dist/lib/asm-parent-%{version}.pom -for m in asm asm-analysis asm-commons asm-tree asm-util asm-xml asm-all asm-debug-all; do - %mvn_artifact output/dist/lib/${m}-%{version}.pom \ - output/dist/lib/${m}-%{version}.jar -done -%mvn_install -J output/dist/doc/javadoc/user +%mvn_install %jpackage_script org.objectweb.asm.xml.Processor "" "" %{name}/asm:%{name}/asm-attrs:%{name}/asm-util:%{name}/asm-xml %{name}-processor true %files -f .mfiles %license LICENSE.txt -%doc README.txt %{_bindir}/%{name}-processor %files javadoc -f .mfiles-javadoc %license LICENSE.txt %changelog +* Wed Apr 25 2018 Mat Booth - 6.1.1-1 +- Update to latest upstream relase for Java 10 support +- Switch to maven build +- Now executing test suites + * Thu Feb 08 2018 Fedora Release Engineering - 6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index cd34dac..bc5fe57 100644 --- a/sources +++ b/sources @@ -1,2 +1,10 @@ -SHA512 (asm-6.0.tar.gz) = a91cdedc87b769ae06b3b198273fadce86f83f3baf2f70f97aa573660234cb948d31a7c30ef77b05f3a1031bc2cc82d151a68b7b45d54af3f7ed99b76057725d -SHA512 (LICENSE-2.0.txt) = 98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8 +SHA512 (archive.tar.gz) = 9719f97dc953d20473bc161557e2e254e9455654229858af13af5fe6582a39a96c77dd52ee342bc79157e8e8e87ef48188185a0ebe28f4bb6ecb7f0cb3923f7b +SHA512 (asm-6.1.1.pom) = 4485086ec55d29fdcd96f0c1d6cf517ef3237a87552c68d6bdf59f5ae50cd93ba9706eeb5f43bafcc1289e32e152cd845aee44a2316fd060d0501cf3141840b7 +SHA512 (asm-all-6.1.1.pom) = 90df1a63b5e2a2b2b40f17cbc0303072e96d168c6cccd1bcb986f9b900b370fa191d857c694e20449d42d4b9d575f5c5153fceb09405f472257bc6733388e917 +SHA512 (asm-analysis-6.1.1.pom) = 213bfae989c64f807bb00856a262c7ad507eb9188653e688319f3c862f1362aa5ffffd18cb1ed712c7cb3bd3095b924fbfba06ed54c2e67920d6251b307c86d0 +SHA512 (asm-commons-6.1.1.pom) = 742b17e77b93c04bae33987fd4ab0a3bf889277ae46331b0b8fc3e67c360e0a11406e02e8ca6d3350542557a7c0f6b78057f15866fd3250b7dffe81999a29ae2 +SHA512 (asm-test-6.1.1.pom) = 2ff4b770eb6e14eddd13b7fa41c3b8d684c5f22f4d08c215e42a7f3a51c846b66e90603040376a56c6b9dbd09f7bf49beca826062145d0613319087b860614c7 +SHA512 (asm-tree-6.1.1.pom) = c02053d0279b7f43f7838a9540806bd597391ee5af7babb2a77d7764e0e255dad3eb6da83203480c1cabc06a2014fb196e97f2f34e90442f9516c19874fd1153 +SHA512 (asm-util-6.1.1.pom) = 2ceac588f3aa34e2531dcc3dac8614ce0c9131e7ba226f2f9b5766f80c4f7ad5dfd9806c9379789d7ac38d4e91543c4936f61f1dacd3f0815cc8abed9d6edf8e +SHA512 (asm-xml-6.1.1.pom) = a0796711334d3f29ba8a3743e87c13f3c0c5e2491f6718ee08cfb45bd7f873699e79daf6845437f8c58abf8b6d273fde56328ae5e53797df3c22309629d36c41 +SHA512 (parent.pom) = 0e0ed1e893e604ebfa863b046b1189a424ebb68032026b7402894e66f36376c8a748f2e4c08e96be6fee21eab3dc79203b805b61b422d3ab9158a4a1a78d2bb6