diff --git a/0001-Port-build-script-to-Maven-3.patch b/0001-Port-build-script-to-Maven-3.patch new file mode 100644 index 0000000..ee1db1a --- /dev/null +++ b/0001-Port-build-script-to-Maven-3.patch @@ -0,0 +1,178 @@ +From fe5bf9cd9a3395574ad5d96596dcbcd235b53040 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Tue, 14 Jun 2016 14:21:15 +0200 +Subject: [PATCH] Port build script to Maven 3 + +--- + avalon-framework-api-4.3/project.xml | 19 +++++++-- + avalon-framework-impl-4.3/project.xml | 73 +++++++++++------------------------ + pom.xml | 11 ++++++ + 3 files changed, 50 insertions(+), 53 deletions(-) + create mode 100644 pom.xml + +diff --git a/avalon-framework-api-4.3/project.xml b/avalon-framework-api-4.3/project.xml +index e64d251..e36b6ac 100644 +--- a/avalon-framework-api-4.3/project.xml ++++ b/avalon-framework-api-4.3/project.xml +@@ -16,12 +16,13 @@ + limitations under the License. + --> + +- ${basedir}/../project-common.xml ++ 4.0.0 + + Avalon Framework API ++ avalon-framework + avalon-framework-api +- Avalon Framework API +- org.apache.avalon.framework ++ Avalon Framework API ++ 4.3 + + + +@@ -29,5 +30,17 @@ + avalon-logkit + 2.1 + ++ ++ ++ junit ++ junit ++ 3.8.1 ++ test ++ + ++ ++ ++ src/java ++ src/test ++ + +diff --git a/avalon-framework-impl-4.3/project.xml b/avalon-framework-impl-4.3/project.xml +index d72efba..4022b4f 100644 +--- a/avalon-framework-impl-4.3/project.xml ++++ b/avalon-framework-impl-4.3/project.xml +@@ -17,11 +17,13 @@ + --> + + +- ${basedir}/../project-common.xml ++ 4.0.0 + + Avalon Framework Implementation ++ avalon-framework + avalon-framework-impl +- Avalon Framework Implementation ++ 4.3 ++ Avalon Framework Implementation + + + +@@ -31,48 +33,16 @@ + + + +- xml-apis +- 2.0.2 +- +- true +- +- +- +- xml-apis +- xmlParserAPIs +- 2.0.2 +- +- true +- +- +- +- xerces +- 2.4.0 +- +- true +- +- +- +- xalan +- 2.6.0 +- +- true +- +- +- +- +- log4j ++ log4j ++ log4j + 1.2.11 +- +- true +- ++ true + +- +- commons-logging ++ ++ commons-logging ++ commons-logging + 1.0.4 +- +- true +- ++ true + + + avalon-logkit +@@ -80,18 +50,21 @@ + 2.1 + + +- junit ++ junit ++ junit + 3.8.1 +- +- true +- ++ test + + +- jmock +- 1.0.1 +- +- true +- ++ jmock ++ jmock ++ 1.0.1 ++ test + + ++ ++ ++ src/java ++ src/test ++ + +diff --git a/pom.xml b/pom.xml +new file mode 100644 +index 0000000..a36ec55 +--- /dev/null ++++ b/pom.xml +@@ -0,0 +1,11 @@ ++ ++ 4.0.0 ++ placeholder ++ aggregator ++ 1 ++ pom ++ ++ avalon-framework-api-4.3/project.xml ++ avalon-framework-impl-4.3/project.xml ++ ++ +-- +2.5.5 + diff --git a/avalon-framework-api-4.3.pom b/avalon-framework-api-4.3.pom deleted file mode 100644 index 9757b61..0000000 --- a/avalon-framework-api-4.3.pom +++ /dev/null @@ -1,14 +0,0 @@ - - 4.0.0 - avalon-framework - avalon-framework-api - Avalon Framework API - 4.3 - - - avalon-logkit - avalon-logkit - 2.1 - - - \ No newline at end of file diff --git a/avalon-framework-impl-4.3.pom b/avalon-framework-impl-4.3.pom deleted file mode 100644 index 0d90bc3..0000000 --- a/avalon-framework-impl-4.3.pom +++ /dev/null @@ -1,59 +0,0 @@ - - 4.0.0 - avalon-framework - avalon-framework-impl - Avalon Framework Implementation - 4.3 - - - avalon-framework - avalon-framework-api - 4.3 - - - xml-apis - xml-apis - 2.0.2 - - - xml-apis - xmlParserAPIs - 2.0.2 - - - xerces - xerces - 2.4.0 - - - xalan - xalan - 2.6.0 - - - log4j - log4j - 1.2.11 - - - commons-logging - commons-logging - 1.0.4 - - - avalon-logkit - avalon-logkit - 2.1 - - - junit - junit - 3.8.1 - - - jmock - jmock - 1.0.1 - - - \ No newline at end of file diff --git a/avalon-framework-impl-pom.patch b/avalon-framework-impl-pom.patch deleted file mode 100644 index a58d65f..0000000 --- a/avalon-framework-impl-pom.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- avalon-framework-impl-4.3.pom 2011-04-20 16:13:30.000000000 +0200 -+++ avalon-framework-impl-4.3.pom.new 2011-04-21 11:37:28.348380463 +0200 -@@ -16,11 +16,6 @@ - 2.0.2 - - -- xml-apis -- xmlParserAPIs -- 2.0.2 -- -- - xerces - xerces - 2.4.0 -@@ -50,10 +45,5 @@ - junit - 3.8.1 - -- -- jmock -- jmock -- 1.0.1 -- - -- -\ No newline at end of file -+ diff --git a/avalon-framework-xerces.patch b/avalon-framework-xerces.patch deleted file mode 100644 index 93f4f7e..0000000 --- a/avalon-framework-xerces.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/avalon-framework-impl-4.3/avalon-framework-impl-4.3.pom b/avalon-framework-impl-4.3/avalon-framework-impl-4.3.pom -index 1937459..28d8da8 100644 ---- a/avalon-framework-impl-4.3/avalon-framework-impl-4.3.pom -+++ b/avalon-framework-impl-4.3/avalon-framework-impl-4.3.pom -@@ -17,7 +17,7 @@ - - - xerces -- xerces -+ xercesImpl - 2.4.0 - - diff --git a/avalon-framework.spec b/avalon-framework.spec index 305c3c2..86f98d9 100644 --- a/avalon-framework.spec +++ b/avalon-framework.spec @@ -1,74 +1,23 @@ -# Copyright (c) 2000-2007, JPackage Project -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the -# distribution. -# 3. Neither the name of the JPackage Project nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -%global short_name framework -%global short_Name Avalon - -Name: avalon-%{short_name} -Version: 4.3 -Release: 15%{?dist} -Epoch: 0 -Summary: Java components interfaces -License: ASL 2.0 -URL: http://avalon.apache.org/%{short_name}/ -Group: Development/Libraries -Source0: http://archive.apache.org/dist/excalibur/avalon-framework/source/%{name}-api-%{version}-src.tar.gz -Source1: http://archive.apache.org/dist/excalibur/avalon-framework/source/%{name}-impl-%{version}-src.tar.gz - -# pom files are not provided in tarballs so get them from external site -Source2: http://repo1.maven.org/maven2/avalon-framework/%{name}-api/%{version}/%{name}-api-%{version}.pom -Source3: http://repo1.maven.org/maven2/avalon-framework/%{name}-impl/%{version}/%{name}-impl-%{version}.pom - -# remove jmock from dependencies because we don't have it -Patch0: %{name}-impl-pom.patch -Patch1: %{name}-xerces.patch - -Requires: apache-commons-logging -Requires: avalon-logkit -Requires: log4j -Requires: xalan-j2 - -BuildRequires: ant -BuildRequires: ant-junit -BuildRequires: apache-commons-logging -BuildRequires: avalon-logkit -BuildRequires: javapackages-local -# For converting jar into OSGi bundle -BuildRequires: aqute-bnd -BuildRequires: junit -BuildRequires: log4j - - -BuildArch: noarch - -Obsoletes: %{name}-manual <= 0:4.1.4 +Name: avalon-framework +Epoch: 0 +Version: 4.3 +Release: 16%{?dist} +Summary: Java components interfaces +License: ASL 2.0 +URL: http://avalon.apache.org/ +BuildArch: noarch + +Source0: http://archive.apache.org/dist/excalibur/avalon-framework/source/%{name}-api-%{version}-src.tar.gz +Source1: http://archive.apache.org/dist/excalibur/avalon-framework/source/%{name}-impl-%{version}-src.tar.gz + +Patch0001: 0001-Port-build-script-to-Maven-3.patch + +BuildRequires: maven-local +BuildRequires: mvn(avalon-logkit:avalon-logkit) +BuildRequires: mvn(commons-logging:commons-logging) +BuildRequires: mvn(log4j:log4j) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) + %description The Avalon framework consists of interfaces that define relationships @@ -81,75 +30,60 @@ ancestors and children. %package javadoc Summary: API documentation %{name} -Group: Documentation -Requires: jpackage-utils %description javadoc %{summary}. %prep -%setup -q -n %{name}-api-%{version} +%setup -qcT +tar xvf %{SOURCE0} tar xvf %{SOURCE1} - -cp %{SOURCE2} . - -pushd %{name}-impl-%{version}/ -cp %{SOURCE3} . -%patch0 -%patch1 -p2 -popd +%patch0001 -p1 + +%mvn_package :aggregator __noinstall +%mvn_file ":*api*" %{name}-api +%mvn_file ":*impl*" %{name}-impl %{name} + +# Add proper Apache Felix Bundle Plugin instructions +# so that we get a reasonable OSGi manifest. +for mod in api impl; do + %pom_xpath_inject pom:project "bundle" *${mod}*/project.xml + %pom_xpath_inject pom:build " + + + org.apache.felix + maven-bundle-plugin + true + + + avalon-framework-${mod}-4.3 + <_nouses>true + + + + " *${mod}*/project.xml +done %build -export CLASSPATH=%(build-classpath avalon-logkit junit commons-logging log4j) -export CLASSPATH="$CLASSPATH:../target/%{name}-api-%{version}.jar" -ant jar test javadoc -# Convert to OSGi bundle -bnd wrap target/%{name}-api-%{version}.jar - -# build implementation now -pushd %{name}-impl-%{version} -# tests removed because we don't have jmock -rm -rf src/test/* -ant jar javadoc -# Convert to OSGi bundle -bnd wrap target/%{name}-impl-%{version}.jar -popd +# Test use old jmock +%mvn_build -f %install -install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/ -install -d -m 755 $RPM_BUILD_ROOT/%{_mavenpomdir} - -install -m 644 %{name}-api-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-api.jar -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}/%{name}-api - -# pom file -install -pm 644 %{name}-api-%{version}.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}-api.pom -%add_maven_depmap JPP-%{name}-api.pom %{name}-api.jar -a "org.apache.avalon.framework:%{name}-api" - -# javadocs -cp -pr dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}/%{name}-api/ - -install -m 644 %{name}-impl-%{version}/%{name}-impl-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-impl.jar -ln -sf %{_javadir}/%{name}-impl.jar ${RPM_BUILD_ROOT}%{_javadir}/%{name}.jar - -# pom file -install -pm 644 %{name}-impl-%{version}/%{name}-impl-%{version}.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}-impl.pom -%add_maven_depmap JPP-%{name}-impl.pom %{name}-impl.jar -a "org.apache.avalon.framework:%{name}-impl,%{name}:%{name}" - -# javadocs -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}/%{name}-impl -cp -pr %{name}-impl-%{version}/dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}/%{name}-impl/ - +%mvn_install %files -f .mfiles -%doc LICENSE.txt NOTICE.txt -%{_javadir}/%{name}.jar +%license avalon-framework-api-4.3/LICENSE.txt +%license avalon-framework-api-4.3/NOTICE.txt -%files javadoc -%doc LICENSE.txt NOTICE.txt -%{_javadocdir}/%{name} +%files javadoc -f .mfiles-javadoc +%license avalon-framework-api-4.3/LICENSE.txt +%license avalon-framework-api-4.3/NOTICE.txt %changelog +* Tue Jun 14 2016 Mikolaj Izdebski - 0:4.3-16 +- Cleanup package +- Build with Maven + * Wed Feb 03 2016 Fedora Release Engineering - 0:4.3-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild