e35268
%bcond_without junit5
e35268
%bcond_without osgi
e35268
e35268
Name:           objectweb-asm
e35268
Version:        7.3.1
e35268
Release:        3%{?dist}
e35268
Summary:        Java bytecode manipulation and analysis framework
e35268
License:        BSD
e35268
URL:            http://asm.ow2.org/
e35268
BuildArch:      noarch
e35268
e35268
# ./generate-tarball.sh
e35268
Source0:        %{name}-%{version}.tar.gz
e35268
Source1:        parent.pom
e35268
Source2:        https://repo1.maven.org/maven2/org/ow2/asm/asm/%{version}/asm-%{version}.pom
e35268
Source3:        https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/%{version}/asm-analysis-%{version}.pom
e35268
Source4:        https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/%{version}/asm-commons-%{version}.pom
e35268
Source5:        https://repo1.maven.org/maven2/org/ow2/asm/asm-test/%{version}/asm-test-%{version}.pom
e35268
Source6:        https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/%{version}/asm-tree-%{version}.pom
e35268
Source7:        https://repo1.maven.org/maven2/org/ow2/asm/asm-util/%{version}/asm-util-%{version}.pom
e35268
# We still want to create an "all" uberjar, so this is a custom pom to generate it
e35268
# TODO: Fix other packages to no longer depend on "asm-all" so we can drop this
e35268
Source8:        asm-all.pom
e35268
# The source contains binary jars that cannot be verified for licensing and could be proprietary
e35268
Source9:       generate-tarball.sh
e35268
e35268
# Revert upstream change https://gitlab.ow2.org/asm/asm/-/commit/2a58bc9bcf2ea6eee03e973d1df4cf9312573c9d
e35268
# To restore some deprecations that were deleted and broke the API
e35268
Patch0: 0001-Revert-upstream-change-2a58bc9.patch
e35268
e35268
BuildRequires:  maven-local
e35268
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
e35268
BuildRequires:  mvn(org.apache.maven.plugins:maven-shade-plugin)
e35268
BuildRequires:  mvn(org.ow2:ow2:pom:)
e35268
%if %{with junit5}
e35268
BuildRequires:  mvn(org.codehaus.janino:janino)
e35268
BuildRequires:  mvn(org.junit.jupiter:junit-jupiter-api)
e35268
BuildRequires:  mvn(org.junit.jupiter:junit-jupiter-engine)
e35268
BuildRequires:  mvn(org.junit.jupiter:junit-jupiter-params)
e35268
BuildRequires:  mvn(org.apache.maven.surefire:surefire-junit-platform)
e35268
%endif
e35268
e35268
%if %{with osgi}
e35268
# asm-all needs to be in pluginpath for BND.  If this self-dependency
e35268
# becomes a problem then ASM core will have to be build from source
e35268
# with javac before main maven build, just like bnd-module-plugin
e35268
BuildRequires:  objectweb-asm >= 6
e35268
%endif
e35268
e35268
# Explicit javapackages-tools requires since asm-processor script uses
e35268
# /usr/share/java-utils/java-functions
e35268
Requires:       javapackages-tools
e35268
e35268
%description
e35268
ASM is an all purpose Java bytecode manipulation and analysis
e35268
framework.  It can be used to modify existing classes or dynamically
e35268
generate classes, directly in binary form.  Provided common
e35268
transformations and analysis algorithms allow to easily assemble
e35268
custom complex transformations and code analysis tools.
e35268
e35268
%package        javadoc
e35268
Summary:        API documentation for %{name}
e35268
e35268
%description    javadoc
e35268
This package provides %{summary}.
e35268
e35268
%prep
e35268
%setup -q
e35268
e35268
%patch0 -p1
e35268
e35268
# A custom parent pom to aggregate the build
e35268
cp -p %{SOURCE1} pom.xml
e35268
e35268
%if %{without junit5}
e35268
%pom_disable_module asm-test
e35268
%endif
e35268
e35268
# Insert poms into modules
e35268
for pom in asm asm-analysis asm-commons asm-test asm-tree asm-util; do
e35268
  cp -p $RPM_SOURCE_DIR/${pom}-%{version}.pom $pom/pom.xml
e35268
  # Fix junit5 configuration
e35268
%if %{with junit5}
e35268
  %pom_add_dep org.junit.jupiter:junit-jupiter-engine:5.1.0:test $pom
e35268
  %pom_add_plugin org.apache.maven.plugins:maven-surefire-plugin:2.22.0 $pom
e35268
%endif
e35268
%if %{with osgi}
e35268
  if [ "$pom" != "asm-test" ] ; then
e35268
    # Make into OSGi bundles
e35268
    bsn="org.objectweb.${pom//-/.}"
e35268
    %pom_xpath_inject pom:project "<packaging>bundle</packaging>" $pom
e35268
    %pom_add_plugin org.apache.felix:maven-bundle-plugin:3.5.0 $pom \
e35268
"   <extensions>true</extensions>
e35268
    <configuration>
e35268
      <instructions>
e35268
        <Bundle-SymbolicName>$bsn</Bundle-SymbolicName>
e35268
        <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
e35268
        <_removeheaders>Bnd-LastModified,Build-By,Created-By,Include-Resource,Require-Capability,Tool</_removeheaders>
e35268
        <_pluginpath>$(pwd)/tools/bnd-module-plugin/bnd-module-plugin.jar, $(find-jar objectweb-asm/asm-all)</_pluginpath>
e35268
        <_plugin>org.objectweb.asm.tools.ModuleInfoBndPlugin;</_plugin>
e35268
      </instructions>
e35268
    </configuration>"
e35268
  fi
e35268
%endif
e35268
done
e35268
e35268
# Disable tests that use unlicensed class files
e35268
sed -i -e '/testToByteArray_computeMaxs_largeSubroutines/i@org.junit.jupiter.api.Disabled("missing class file")' \
e35268
  asm/src/test/java/org/objectweb/asm/ClassWriterTest.java
e35268
sed -i -e '/testAnalyze_mergeWithJsrReachableFromTwoDifferentPaths/i@org.junit.jupiter.api.Disabled("missing class file")' \
e35268
  asm-analysis/src/test/java/org/objectweb/asm/tree/analysis/AnalyzerWithBasicInterpreterTest.java
e35268
sed -i -e '/testAllMethods_issue317586()/i@org.junit.jupiter.api.Disabled("missing class file")' \
e35268
  asm-commons/src/test/java/org/objectweb/asm/commons/LocalVariablesSorterTest.java
e35268
e35268
# Remove failing test SerialVersionUidAdderTest due to missing class files
e35268
rm asm-commons/src/test/java/org/objectweb/asm/commons/SerialVersionUidAdderTest.java
e35268
e35268
# Insert asm-all pom
e35268
mkdir -p asm-all
e35268
sed 's/@VERSION@/%{version}/g' %{SOURCE8} > asm-all/pom.xml
e35268
e35268
# Remove invalid self-dependency
e35268
%pom_remove_dep org.ow2.asm:asm-test asm-test
e35268
e35268
# Compat aliases
e35268
%mvn_alias :asm-all org.ow2.asm:asm-debug-all
e35268
e35268
# No need to ship the custom parent pom
e35268
%mvn_package :asm-aggregator __noinstall
e35268
# Don't ship the test framework to avoid runtime dep on junit
e35268
%mvn_package :asm-test __noinstall
e35268
e35268
%build
e35268
# Must compile bnd plugin first, which is used to generate Java 9 module-info.class files
e35268
pushd tools/bnd-module-plugin
e35268
javac -sourcepath ../../asm/src/main/java/ -cp $(build-classpath aqute-bnd) $(find -name *.java)
e35268
jar cf bnd-module-plugin.jar -C src/main/java org
e35268
popd
e35268
e35268
%if %{with junit5}
e35268
%mvn_build -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8
e35268
%else
e35268
%mvn_build -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8
e35268
%endif
e35268
e35268
%install
e35268
%mvn_install
e35268
e35268
%jpackage_script org.objectweb.asm.xml.Processor "" "" %{name}/asm:%{name}/asm-attrs:%{name}/asm-util %{name}-processor true
e35268
e35268
%files -f .mfiles
e35268
%license LICENSE.txt
e35268
%{_bindir}/%{name}-processor
e35268
e35268
%files javadoc -f .mfiles-javadoc
e35268
%license LICENSE.txt
e35268
e35268
%changelog
e35268
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 7.3.1-3
e35268
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
e35268
e35268
* Wed May 06 2020 Mat Booth <mat.booth@redhat.com> - 7.3.1-2
e35268
- Revert an upstream change to prevent breaking API change
e35268
e35268
* Thu Feb 27 2020 Jayashree Huttanagoudat <jhuttana@redhat.com> - 7.3.1-1
e35268
- Upgraded to upstream version 7.3.1.
e35268
e35268
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0-4
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
e35268
e35268
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0-3
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
e35268
e35268
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
e35268
e35268
* Wed Nov 21 2018 Severin Gehwolf <sgehwolf@redhat.com> - 7.0-1
e35268
- Update to latest upstream 7.0 release.
e35268
- Removes package asm-xml (deprecated since 6.1).
e35268
e35268
* Tue Sep 11 2018 Mat Booth <mat.booth@redhat.com> - 6.2.1-1
e35268
- Update to latest upstream release
e35268
- Fix test suite execution
e35268
e35268
* Fri Aug 03 2018 Michael Simacek <msimacek@redhat.com> - 6.2-5
e35268
- Repack the tarball without binaries
e35268
e35268
* Wed Aug 01 2018 Severin Gehwolf <sgehwolf@redhat.com> - 6.2-4
e35268
- Explicitly require javapackages-tools for asm-processor script
e35268
  which uses java-functions.
e35268
e35268
* Wed Aug 01 2018 Severin Gehwolf <sgehwolf@redhat.com> - 6.2-3
e35268
- Allow conditionally building without OSGi
e35268
  metadata.
e35268
e35268
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
e35268
e35268
* Mon Jul 02 2018 Michael Simacek <msimacek@redhat.com> - 6.2-1
e35268
- Update to upstream version 6.2
e35268
e35268
* Sat Jun 30 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.1.1-4
e35268
- Relax versioned self-build-requirement a bit
e35268
e35268
* Fri Jun 29 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.1.1-3
e35268
- Add objectweb-asm to BND pluginpath
e35268
e35268
* Thu Jun 28 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.1.1-2
e35268
- Allow conditionally building without junit5
e35268
e35268
* Wed Apr 25 2018 Mat Booth <mat.booth@redhat.com> - 6.1.1-1
e35268
- Update to latest upstream relase for Java 10 support
e35268
- Switch to maven build
e35268
- Now executing test suites
e35268
e35268
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
e35268
e35268
* Mon Sep 25 2017 Michael Simacek <msimacek@redhat.com> - 6.0-1
e35268
- Update to upstream version 6.0
e35268
e35268
* Tue Sep 12 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.0-0.2.beta
e35268
- Fix invalid OSGi metadata
e35268
- Resolves: rhbz#1490817
e35268
e35268
* Mon Sep 11 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.0-0.1.beta
e35268
- Update to upstream version 6.0 beta
e35268
e35268
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-8
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
e35268
e35268
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-7
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
e35268
e35268
* Mon Oct 10 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-6
e35268
- Use OSGi API JARs to run BND classpath, instead of Eclipse
e35268
e35268
* Sat Sep 24 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-5
e35268
- Update to current packaging guidelines
e35268
- Remove obsoletes and provides for objectweb-asm4
e35268
e35268
* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-4
e35268
- Add missing build-requires
e35268
e35268
* Wed Jun  1 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-3
e35268
- Avoid calling XMvn from build-classpath
e35268
e35268
* Tue May 31 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-2
e35268
- Add missing JARs to BND classpath
e35268
e35268
* Thu Mar 24 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1-1
e35268
- Update to upstream version 5.1
e35268
e35268
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.4-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
e35268
e35268
* Thu Aug 06 2015 Michael Simacek <msimacek@redhat.com> - 5.0.4-1
e35268
- Update to upstream version 5.0.4
e35268
e35268
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.3-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e35268
e35268
* Sun Jul 20 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.3-1
e35268
- Update to upstream version 5.0.3
e35268
e35268
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.2-2
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
e35268
e35268
* Mon May  5 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.2-1
e35268
- Update to upstream version 5.0.2
e35268
e35268
* Mon Apr 14 2014 Mat Booth <mat.booth@redhat.com> - 5.0.1-2
e35268
- SCL-ize package.
e35268
- Fix bogus dates in changelog.
e35268
e35268
* Mon Mar 24 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.1-1
e35268
- Update to upstream version 5.0.1
e35268
e35268
* Wed Mar 19 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0-0.3.beta
e35268
- Enable asm-debug-all module
e35268
e35268
* Mon Jan 20 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0-0.2.beta
e35268
- Remove Eclipse Orbit alias
e35268
e35268
* Tue Dec  3 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0-0.1.beta
e35268
- Update to 5.0 beta
e35268
e35268
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.3.1-8
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
e35268
e35268
* Wed Mar  6 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:3.3.1-7
e35268
- Make jetty orbit depmap point to asm-all jar
e35268
- Resolves: rhbz#917625
e35268
e35268
* Mon Mar  4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:3.3.1-6
e35268
- Add depmap for org.eclipse.jetty.orbit
e35268
- Resolves: rhbz#917625
e35268
e35268
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.3.1-5
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
e35268
e35268
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.3.1-4
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
e35268
e35268
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.3.1-3
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
e35268
e35268
* Fri Sep 16 2011 Alexander Kurtakov <akurtako@redhat.com> 0:3.3.1-2
e35268
- Use poms produced by the build not foreign ones.
e35268
- Adpat to current guidelines.
e35268
e35268
* Mon Apr 04 2011 Chris Aniszczyk <zx@redhat.com> 0:3.3.1
e35268
- Upgrade to 3.3.1
e35268
e35268
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.2-3
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
e35268
e35268
* Tue Jul 13 2010 Orion Poplawski <orion@cora.nwra.com>  0:3.2.1-2
e35268
- Change depmap parent id to asm (bug #606659)
e35268
e35268
* Thu Apr 15 2010 Fernando Nasser <fnasser@redhat.com> 0:3.2.1
e35268
- Upgrade to 3.2
e35268
e35268
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.1-7.1
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
e35268
e35268
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:3.1-6.1
e35268
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
e35268
e35268
* Thu Oct 23 2008 David Walluck <dwalluck@redhat.com> 0:3.1-5.1
e35268
- build for Fedora
e35268
e35268
* Thu Oct 23 2008 David Walluck <dwalluck@redhat.com> 0:3.1-5
e35268
- add OSGi manifest (Alexander Kurtakov)
e35268
e35268
* Mon Oct 20 2008 David Walluck <dwalluck@redhat.com> 0:3.1-4
e35268
- remove Class-Path from MANIFEST.MF
e35268
- add unversioned javadoc symlink
e35268
- remove javadoc scriptlets
e35268
- fix directory ownership
e35268
- remove build requirement on dos2unix
e35268
e35268
* Fri Feb 08 2008 Ralph Apel <r.apel@r-apel.de> - 0:3.1-3jpp
e35268
- Add poms and depmap frags with groupId of org.objectweb.asm !
e35268
- Add asm-all.jar 
e35268
- Add -javadoc Requires post and postun
e35268
- Restore Vendor, Distribution
e35268
e35268
* Thu Nov 22 2007 Fernando Nasser <fnasser@redhat.com> - 0:3.1-2jpp
e35268
- Fix EOL of txt files
e35268
- Add dependency on jaxp 
e35268
e35268
* Thu Nov 22 2007 Fernando Nasser <fnasser@redhat.com> - 0:3.1-1jpp
e35268
- Upgrade to 3.1
e35268
e35268
* Wed Aug 22 2007 Fernando Nasser <fnasser@redhat.com> - 0:3.0-1jpp
e35268
- Upgrade to 3.0
e35268
- Rename to include objectweb- prefix as requested by ObjectWeb
e35268
e35268
* Thu Jan 05 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.1-2jpp
e35268
- First JPP 1.7 build
e35268
e35268
* Thu Oct 06 2005 Ralph Apel <r.apel at r-apel.de> 0:2.1-1jpp
e35268
- Upgrade to 2.1
e35268
e35268
* Fri Mar 11 2005 Sebastiano Vigna <vigna at acm.org> 0:2.0.RC1-1jpp
e35268
- First release of the 2.0 line.