byte-buddy/byte-buddy.spec
2018-12-04 11:04:29 +00:00

138 lines
4.3 KiB
RPMSpec

Name: byte-buddy
Version: 1.3.19
Release: 1%{?dist}
Summary: Runtime code generation for the Java virtual machine
License: ASL 2.0
URL: http://bytebuddy.net/
Source0: https://github.com/raphw/byte-buddy/archive/%{name}-%{version}.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(cglib:cglib)
BuildRequires: mvn(com.google.code.findbugs:annotations)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin)
BuildRequires: mvn(org.javassist:javassist)
BuildRequires: mvn(org.mockito:mockito-core)
BuildRequires: mvn(org.openjdk.jmh:jmh-core)
BuildRequires: mvn(org.openjdk.jmh:jmh-generator-annprocess)
BuildRequires: mvn(org.ow2.asm:asm)
BuildRequires: mvn(org.ow2.asm:asm-analysis)
BuildRequires: mvn(org.ow2.asm:asm-commons)
BuildRequires: mvn(org.ow2.asm:asm-util)
BuildArch: noarch
%description
Byte Buddy is a code generation library for creating Java classes during the
runtime of a Java application and without the help of a compiler. Other than
the code generation utilities that ship with the Java Class Library, Byte Buddy
allows the creation of arbitrary classes and is not limited to implementing
interfaces for the creation of runtime proxies.
%package agent
Summary: Byte Buddy Java agent
%description agent
The Byte Buddy Java agent allows to access the
JVM's HotSwap feature.
%package benchmark
Summary: Byte Buddy benchmarks
%description benchmark
A benchmark of Byte Buddy using the JMH.
%package parent
Summary: Byte Buddy Parent POM
%description parent
The parent artifact contains configuration information that
concern all modules.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{name}-%{version}
# No source code, repackage asm libraries only
%pom_disable_module %{name}
%pom_disable_module %{name}-android
# Unavailable plugin
%pom_remove_plugin -r com.github.ferstl:jitwatch-jarscan-maven-plugin
%pom_remove_plugin -r org.codehaus.mojo:animal-sniffer-maven-plugin
%pom_remove_plugin -r org.codehaus.mojo:cobertura-maven-plugin
%pom_remove_plugin -r org.codehaus.mojo:findbugs-maven-plugin
%pom_remove_plugin -r org.eluder.coveralls:coveralls-maven-plugin
%pom_remove_plugin -r org.pitest:pitest-maven
%pom_remove_plugin -r org.codehaus.mojo:clirr-maven-plugin
# Unwanted tasks
%pom_remove_plugin -r org.apache.maven.plugins:maven-checkstyle-plugin
%pom_remove_plugin -r org.apache.maven.plugins:maven-gpg-plugin
%pom_remove_plugin -r org.apache.maven.plugins:maven-source-plugin
%pom_xpath_remove -r "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions"
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:configuration" "<additionalparam>-Xdoclint:none</additionalparam>"
%pom_remove_plugin -r org.apache.maven.plugins:maven-shade-plugin %{name}-benchmark
%pom_change_dep cglib: :cglib %{name}-benchmark
find %{name}-dep/src/test/java -name "*.java" -exec sed -i "s|org\.mockito\.asm|org\.objectweb\.asm|g" {} +
%pom_xpath_set "pom:project/pom:packaging" bundle %{name}-dep
%pom_add_plugin org.apache.felix:maven-bundle-plugin:'${version.plugin.bundle}' %{name}-dep "
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Name>Byte Buddy (without dependencies)</Bundle-Name>
<Bundle-SymbolicName>\${project.groupId}.byte-buddy</Bundle-SymbolicName>
<Bundle-Version>\${project.version}</Bundle-Version>
<Export-Package>net.bytebuddy*</Export-Package>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>"
%mvn_alias :%{name}-dep :%{name}
%build
%mvn_build -s -- -Pextras
%install
%mvn_install
%files -f .mfiles-%{name}-dep
%doc README.md release-notes.md
%files agent -f .mfiles-%{name}-agent
%license LICENSE
%files benchmark -f .mfiles-%{name}-benchmark
%files parent -f .mfiles-%{name}-parent
%license LICENSE
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog
* Wed May 25 2016 gil cattaneo <puntogil@libero.it> 1.3.19-1
- update to 1.3.19
* Tue Dec 22 2015 gil cattaneo <puntogil@libero.it> 0.7.7-1
- initial rpm