# # 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 Patch8: 0001-Port-to-Maven-3.8.5.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