SHA256
1
0
forked from pool/byte-buddy
byte-buddy/byte-buddy.spec

127 lines
4.0 KiB
RPMSpec

#
# spec file
#
# 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/
#
%global base_name byte-buddy
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "bootstrap"
%bcond_without bootstrap
%else
%bcond_with bootstrap
%endif
Version: 1.14.4
Release: 0
Summary: Runtime code generation for the Java virtual machine
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://bytebuddy.net/
Source0: https://github.com/raphw/%{base_name}/archive/refs/tags/%{base_name}-%{version}.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(codes.rafael.modulemaker:modulemaker-maven-plugin)
BuildRequires: mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(net.java.dev.jna:jna)
BuildRequires: mvn(net.java.dev.jna:jna-platform)
BuildRequires: mvn(net.sourceforge.findbugs:annotations)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) >= 3.3.0
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.eclipse.aether:aether-api)
BuildRequires: mvn(org.eclipse.aether:aether-util)
BuildRequires: mvn(org.ow2.asm:asm)
BuildRequires: mvn(org.ow2.asm:asm-commons)
BuildRequires: mvn(org.sonatype.plexus:plexus-build-api)
BuildArch: noarch
%if %{with bootstrap}
Name: %{base_name}-bootstrap
%else
Name: %{base_name}
%endif
%if %{without bootstrap}
BuildRequires: %{base_name}-bootstrap
BuildRequires: fdupes
Conflicts: %{base_name}-bootstrap
Obsoletes: %{base_name}-bootstrap
%else
Conflicts: %{base_name}
%endif
%description
Byte Buddy is a code generation and manipulation library for creating and
modifying 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.
Furthermore, Byte Buddy offers a convenient API for changing classes either
manually, using a Java agent or during a build.
%if %{without bootstrap}
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%endif
%prep
%setup -q -n %{base_name}-%{base_name}-%{version}
%pom_disable_module %{base_name}-android
%pom_disable_module %{base_name}-android-test
%pom_disable_module %{base_name}-benchmark
%pom_disable_module %{base_name}-gradle-plugin
%if %{with bootstrap}
%pom_disable_module %{base_name}-agent
%pom_remove_plugin :%{base_name}-maven-plugin %{base_name}-dep
%endif
%pom_remove_plugin org.sonatype.plugins:nexus-staging-maven-plugin
%pom_remove_plugin com.mycila:license-maven-plugin
%pom_change_dep -r com.google.code.findbugs:findbugs-annotations \
net.sourceforge.findbugs:annotations
%mvn_package :byte-buddy-parent __noinstall
%build
%{mvn_build} -f \
%if %{with bootstrap}
-j \
%endif
-- -Dsource=8
%install
%mvn_install
%if %{without bootstrap}
%fdupes -s %{buildroot}%{_javadocdir}
%endif
%files -f .mfiles
%license LICENSE NOTICE
%doc README.md
%if %{without bootstrap}
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%endif
%changelog