xmvn/xmvn-connector-gradle.spec

118 lines
4.1 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2022 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 parent xmvn
%global subname connector-gradle
Name: %{parent}-%{subname}
Version: 3.1.0
Release: 0
Summary: XMvn Connector for Gradle
License: Apache-2.0
Group: Development/Tools/Building
URL: https://fedora-java.github.io/xmvn/
Source0: https://github.com/fedora-java/%{parent}/releases/download/%{version}/%{parent}-%{version}.tar.xz
Patch1: 0001-Prefer-namespaced-metadata-when-duplicates-are-found.patch
Patch2: 0002-Allow-removing-plugins-during-model-validation.patch
Patch3: 0003-Make-xmvn-subst-honor-settings-for-ignoring-duplicat.patch
Patch4: 0004-Fix-requires-generation-for-self-depending-packages.patch
Patch5: 0005-Fix-resolution-of-aliases-registered-by-add_maven_de.patch
Patch6: 0006-Revert-port-to-gradle-4.5.1.patch
Patch7: 0007-Fixes-56-Honour-source-parameter-in-javadoc-mojo.patch
Patch8: 0008-Mimic-maven-javadoc-plugin-for-source-and-release.patch
BuildRequires: fdupes
# Build this one with the bootstrap package in order to avoid build cycles
BuildRequires: maven-local
BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: mvn(org.apache.ivy:ivy)
BuildRequires: mvn(org.codehaus.groovy:groovy-all)
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-api)
BuildRequires: mvn(org.gradle:gradle-base-services) >= 4.4.1
BuildRequires: mvn(org.gradle:gradle-base-services-groovy) >= 4.4.1
BuildRequires: mvn(org.gradle:gradle-core) >= 4.4.1
BuildRequires: mvn(org.gradle:gradle-dependency-management) >= 4.4.1
BuildRequires: mvn(org.gradle:gradle-resources) >= 4.4.1
BuildRequires: mvn(org.slf4j:slf4j-api)
#!BuildRequires: gradle-bootstrap groovy-bootstrap gpars-bootstrap
BuildArch: noarch
%description
This package provides XMvn Connector for Gradle, which provides
integration of Gradle with XMvn. It provides an adapter which allows
XMvn resolver to be used as Gradle resolver.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
This package provides %{summary}.
%prep
%setup -q -n %{parent}-%{version}
%autopatch -p1
# Bisect IT has no chances of working in local, offline mode, without
# network access - it needs to access remote repositories.
find -name BisectIntegrationTest.java -delete
# Resolver IT won't work either - it tries to execute JAR file, which
# relies on Class-Path in manifest, which is forbidden in Fedora...
find -name ResolverIntegrationTest.java -delete
%pom_remove_plugin -r :maven-site-plugin
%{mvn_package} ":xmvn{,-it}" __noinstall
# Upstream code quality checks, not relevant when building RPMs
%pom_remove_plugin -r :apache-rat-plugin
%pom_remove_plugin -r :maven-checkstyle-plugin
%pom_remove_plugin -r :jacoco-maven-plugin
# FIXME pom macros don't seem to support submodules in profile
%pom_remove_plugin :jacoco-maven-plugin xmvn-it
# remove dependency plugin maven-binaries execution
# we provide apache-maven by symlink
%pom_xpath_remove "pom:executions/pom:execution[pom:id[text()='maven-binaries']]"
# Don't put Class-Path attributes in manifests
%pom_remove_plugin :maven-jar-plugin xmvn-tools
pushd %{name}
%{mvn_file} :{*} %{parent}/@1
popd
%build
pushd %{name}
%{mvn_build} -f -- -Dsource=8
popd
%install
pushd %{name}
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
popd
%files -f %{name}/.mfiles
%license LICENSE NOTICE
%doc AUTHORS README.md
%files javadoc -f %{name}/.mfiles-javadoc
%license LICENSE NOTICE
%changelog