From f3218ffdb726d174dc88c174ff02fb80c3d71773 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Sat, 6 Jan 2018 15:27:21 +0100 Subject: [PATCH] Create EPEL 6 package using the maven ant plugin --- build.xml | 23 ++++ maven-build.properties | 38 +++++ maven-build.xml | 305 +++++++++++++++++++++++++++++++++++++++++ voms-api-java.spec | 63 ++++++--- 4 files changed, 409 insertions(+), 20 deletions(-) create mode 100644 build.xml create mode 100644 maven-build.properties create mode 100644 maven-build.xml diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..5361c8f --- /dev/null +++ b/build.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-build.properties b/maven-build.properties new file mode 100644 index 0000000..333e3e3 --- /dev/null +++ b/maven-build.properties @@ -0,0 +1,38 @@ +#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE! +#Fri Jan 05 13:07:13 CET 2018 +maven.build.testDir.0=src/test/java +plugin.nexus-staging.version=1.6.3 +canl.version=2.2.1 +maven.settings.offline=true +plugin.assembly.version=2.4.1 +junit.version=4.11 +maven.settings.interactiveMode=true +assembly.javadoc.dir=/usr/share/javadoc/voms-api-java +plugin.deploy.version=2.8.2 +maven.reporting.outputDirectory=${maven.build.dir}/site +project.build.sourceEncoding=UTF-8 +maven.build.testOutputDir=${maven.build.dir}/test-classes +plugin.release.version=2.2.2 +jcip.version=1.0 +plugin.cobertura.version=2.5.2 +maven.build.finalName=voms-api-java-3.2.0 +mockito.version=1.9.5 +maven.test.reports=${maven.build.dir}/test-reports +plugin.source.version=2.2.1 +hamcrest.version=1.3 +maven.repo.local=${user.home}/.m2/repository +maven.build.dir=target +maven.build.outputDir=${maven.build.dir}/classes +project.reporting.outputEncoding=UTF-8 +plugin.jar.version=2.5 +project.build.directory=${maven.build.dir} +assembly.doc.dir=/usr/share/doc/voms-api-java +maven.build.resourceDir.0=src/main/resources +plugin.compiler.version=3.1 +plugin.gpg.version=1.5 +maven.build.srcDir.0=src/main/java +assembly.java.dir=/usr/share/java +maven.build.testResourceDir.0=src/test/resources +project.build.outputDirectory=${maven.build.outputDir} +plugin.license.version=1.9.0 +plugin.javadoc.version=2.9.1 diff --git a/maven-build.xml b/maven-build.xml new file mode 100644 index 0000000..9dd7596 --- /dev/null +++ b/maven-build.xml @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =================================== WARNING =================================== + JUnit is not present in the test classpath or your $ANT_HOME/lib directory. Tests not executed. + =============================================================================== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/voms-api-java.spec b/voms-api-java.spec index 84b8fdf..9b84a91 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -6,18 +6,26 @@ Summary: Virtual Organization Membership Service Java API License: ASL 2.0 URL: https://wiki.italiangrid.it/VOMS Source0: https://github.com/italiangrid/%{name}/archive/v%{version}.tar.gz +# These are build instructions for ant generated from the maven +# build instructions using the maven ant plugin. +# These are used for building on EPEL 6 since there is no maven +# available there. +Source1: build.xml +Source2: maven-build.xml +Source3: maven-build.properties # Disable tests using non-local network interface Patch0: %{name}-no-local.patch # Adapt to canl-java version 2.5 Patch1: %{name}-canl-2.5.patch BuildArch: noarch -BuildRequires: maven-local -BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.5 -BuildRequires: mvn(junit:junit) -BuildRequires: mvn(org.mockito:mockito-core) -BuildRequires: mvn(net.jcip:jcip-annotations) -Requires: mvn(eu.eu-emi.security:canl) >= 2.5 +BuildRequires: java-devel >= 1:1.6 +BuildRequires: jpackage-utils +BuildRequires: ant +BuildRequires: canl-java >= 2.5 +Requires: java >= 1:1.6 +Requires: jpackage-utils +Requires: canl-java >= 2.5 %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -39,34 +47,49 @@ Virtual Organization Membership Service (VOMS) Java API Documentation. %setup -q %patch0 -p1 %patch1 -p1 - -# Do not create source jars -%pom_remove_plugin org.apache.maven.plugins:maven-source-plugin - -# Cobertura no longer in Fedora due to licensing issues -%pom_remove_plugin org.codehaus.mojo:cobertura-maven-plugin - -# Remove license plugin -%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin +cp -p %{SOURCE1} . +cp -p %{SOURCE2} . +cp -p %{SOURCE3} . %build -%mvn_build +export CLASSPATH=$(build-classpath bcprov bcpkix commons-io canl) +# The tests use mockito which is not available in EPEL 6 - skipping tests +%ant -Dbuild.sysclasspath=last -Dmaven.test.skip=true package javadoc %install -%mvn_install -J target/site/javadoc/apidocs +mkdir -p %{buildroot}%{_javadir} +install -m 644 target/%{name}-%{version}.jar \ + %{buildroot}%{_javadir}/%{name}.jar -%files -f .mfiles -%dir %{_javadir}/%{name} +mkdir -p %{buildroot}%{_mavenpomdir} +install -p -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom +%add_to_maven_depmap org.italiangrid %{name} %{version} JPP %{name} + +mkdir -p %{buildroot}%{_javadocdir}/%{name} +cp -pr target/site/apidocs %{buildroot}%{_javadocdir}/%{name} + +%post +%update_maven_depmap + +%postun +%update_maven_depmap + +%files +%{_javadir}/%{name}.jar +%{_mavenpomdir}/JPP-%{name}.pom +%{_mavendepmapfragdir}/%{name} %doc AUTHORS README.md %license LICENSE -%files javadoc -f .mfiles-javadoc +%files javadoc +%doc %{_javadocdir}/%{name} %license LICENSE %changelog * Fri Jan 05 2018 Mattias Ellert - 3.2.0-5 - Adapt to canl-java 2.5 - Use jcip-annotations for EPEL 7 build +- Create EPEL 6 package using the maven ant plugin * Thu Jul 27 2017 Fedora Release Engineering - 3.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild