138 lines
4.9 KiB
RPMSpec
138 lines
4.9 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 mojo
|
|
Name: %{parent}-%{subname}
|
|
Version: 4.0.0
|
|
Release: 0
|
|
Summary: XMvn MOJO
|
|
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-Mimic-maven-javadoc-plugin-for-source-and-release.patch
|
|
Patch2: 0002-module-path-not-allowed-with-release-8.patch
|
|
Patch3: 0001-Simple-implementation-of-toolchains-https-github.com.patch
|
|
Patch4: 0001-Restore-possibility-to-build-with-Java-8.patch
|
|
Patch5: 0002-Revert-Update-compiler-source-target-to-JDK-11.patch
|
|
Patch6: 0003-Revert-Use-new-Collection-methods-added-in-Java-9.patch
|
|
Patch7: 0004-Add-a-jdk9-profile-to-assure-that-we-are-jdk8-compat.patch
|
|
BuildRequires: %{parent}-api = %{version}
|
|
BuildRequires: %{parent}-core = %{version}
|
|
BuildRequires: fdupes
|
|
BuildRequires: javapackages-local
|
|
BuildRequires: xmvn
|
|
BuildRequires: xmvn-install
|
|
BuildRequires: xmvn-resolve
|
|
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-jar-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-resources-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-surefire-plugin)
|
|
BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-util)
|
|
BuildRequires: mvn(org.apache.maven:maven-artifact)
|
|
BuildRequires: mvn(org.apache.maven:maven-core)
|
|
BuildRequires: mvn(org.apache.maven:maven-model)
|
|
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
|
|
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
|
|
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
|
|
BuildRequires: mvn(org.easymock:easymock)
|
|
#!BuildRequires: maven-compiler-plugin-bootstrap
|
|
#!BuildRequires: maven-jar-plugin-bootstrap
|
|
#!BuildRequires: maven-javadoc-plugin-bootstrap
|
|
#!BuildRequires: maven-plugin-plugin-bootstrap
|
|
#!BuildRequires: maven-resources-plugin-bootstrap
|
|
#!BuildRequires: maven-surefire-plugin-bootstrap
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
This package provides XMvn MOJO, which is a Maven plugin that consists
|
|
of several MOJOs. Some goals of these MOJOs are intended to be
|
|
attached to default Maven lifecycle when building packages, others can
|
|
be called directly from Maven command line.
|
|
|
|
%package javadoc
|
|
Summary: API documentation for %{name}
|
|
Group: Documentation/HTML
|
|
|
|
%description javadoc
|
|
This package provides %{summary}.
|
|
|
|
%prep
|
|
%setup -q -n %{parent}-%{version}
|
|
|
|
%autopatch -p1
|
|
|
|
# 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
|
|
|
|
# Remove all dependencies with scope test, since a raw xmvn does not hide them
|
|
%pom_remove_dep -r :::test:
|
|
|
|
pushd %{name}
|
|
%{mvn_file} :{*} %{parent}/@1
|
|
popd
|
|
|
|
%build
|
|
pushd %{name}
|
|
xmvn \
|
|
--batch-mode --offline \
|
|
-Dmaven.test.skip=true -Dsource=8 \
|
|
package org.apache.maven.plugins:maven-javadoc-plugin:aggregate
|
|
|
|
%{mvn_artifact} pom.xml target/%{name}-%{version}.jar
|
|
|
|
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
|