From 694be6ac6016fbafd1ed4ab47d7c362a23c9df697999ea0b794a662caca04d36 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Mon, 1 Apr 2019 09:31:21 +0000 Subject: [PATCH] Accepting request 690305 from home:fstrba:maven OBS-URL: https://build.opensuse.org/request/show/690305 OBS-URL: https://build.opensuse.org/package/show/Java:packages/xmvn?expand=0&rev=21 --- xmvn-mojo.changes | 4 ++ xmvn-mojo.spec | 140 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 xmvn-mojo.changes create mode 100644 xmvn-mojo.spec diff --git a/xmvn-mojo.changes b/xmvn-mojo.changes new file mode 100644 index 0000000..4d9d73a --- /dev/null +++ b/xmvn-mojo.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Wed Mar 27 06:28:35 UTC 2019 - Fridrich Strba + +- Initial packaging of xmvn-mojo 3.0.0 diff --git a/xmvn-mojo.spec b/xmvn-mojo.spec new file mode 100644 index 0000000..374095f --- /dev/null +++ b/xmvn-mojo.spec @@ -0,0 +1,140 @@ +# +# spec file for package xmvn-mojo +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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: 3.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 +Patch0: 0001-Fix-installer-plugin-loading.patch +Patch1: 0001-Port-to-Gradle-4.2.patch +Patch2: 0001-Port-to-Gradle-4.3.1.patch +Patch3: 0001-Support-setting-Xdoclint-none-in-m-javadoc-p-3.0.0.patch +Patch4: 0001-Fix-configuration-of-aliased-plugins.patch +Patch5: 0001-Don-t-use-JAXB-for-converting-bytes-to-hex-string.patch +Patch6: 0001-Use-apache-commons-compress-for-manifest-injection-a.patch +Patch7: 0001-port-to-gradle-4.4.1.patch +Patch8: 0001-Replace-JAXB-parser.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) +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} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -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} + xmvn \ + -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