[plexus-containers] Fix maven3 build

Stanislav Ochotnicky sochotni at fedoraproject.org
Tue Jun 28 11:34:49 UTC 2011


commit 67f293ce5f0eaa3b81cbd9fe044e0096a67f3b62
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Tue Jun 28 13:33:33 2011 +0200

    Fix maven3 build
    
    - Use new add_maven_depmap macro
    - Few more tweaks around

 0001-Fix-test-oom.patch             |   32 ++++++++
 0002-Fix-maven3-compatibility.patch |   27 +++++++
 plexus-containers-test-oom.patch    |   20 -----
 plexus-containers.spec              |  148 ++++++++++++----------------------
 4 files changed, 111 insertions(+), 116 deletions(-)
---
diff --git a/0001-Fix-test-oom.patch b/0001-Fix-test-oom.patch
new file mode 100644
index 0000000..a806663
--- /dev/null
+++ b/0001-Fix-test-oom.patch
@@ -0,0 +1,32 @@
+From 8533ee80c48fd43a1ac9bda00a69de10ef65866b Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Tue, 28 Jun 2011 12:41:26 +0200
+Subject: [PATCH 1/2] Fix test oom
+
+---
+ ...ponentClassicSingletonComponentManagerTest.java |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/plexus-container-default/src/test/java/org/codehaus/plexus/component/manager/SlowComponentClassicSingletonComponentManagerTest.java b/plexus-container-default/src/test/java/org/codehaus/plexus/component/manager/SlowComponentClassicSingletonComponentManagerTest.java
+index 61812f6..33650eb 100644
+--- a/plexus-container-default/src/test/java/org/codehaus/plexus/component/manager/SlowComponentClassicSingletonComponentManagerTest.java
++++ b/plexus-container-default/src/test/java/org/codehaus/plexus/component/manager/SlowComponentClassicSingletonComponentManagerTest.java
+@@ -34,12 +34,14 @@ public class SlowComponentClassicSingletonComponentManagerTest
+ 
+     /**
+      * Tests that multiple concurrent threads don't acquire different components.
+-     */
++     *
++     * Test disabled - failing in mock due to OOM
+     public void testThreads1000()
+         throws Exception
+     {
+         test( 1000 );
+     }
++     */
+ 
+     private void test( int count )
+         throws Exception
+-- 
+1.7.5.4
+
diff --git a/0002-Fix-maven3-compatibility.patch b/0002-Fix-maven3-compatibility.patch
new file mode 100644
index 0000000..0a5fb85
--- /dev/null
+++ b/0002-Fix-maven3-compatibility.patch
@@ -0,0 +1,27 @@
+From 5a2e4822c0e7bf27f86818e6e5e613dad8c556fa Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Tue, 28 Jun 2011 12:59:45 +0200
+Subject: [PATCH 2/2] Fix maven3 compatibility
+
+---
+ plexus-component-metadata/pom.xml |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/plexus-component-metadata/pom.xml b/plexus-component-metadata/pom.xml
+index adfb80c..c23af73 100644
+--- a/plexus-component-metadata/pom.xml
++++ b/plexus-component-metadata/pom.xml
+@@ -38,6 +38,10 @@
+     </dependency>
+     <dependency>
+       <groupId>org.apache.maven</groupId>
++      <artifactId>maven-core</artifactId>
++    </dependency>
++    <dependency>
++      <groupId>org.apache.maven</groupId>
+       <artifactId>maven-plugin-api</artifactId>
+     </dependency>
+     <dependency>
+-- 
+1.7.5.4
+
diff --git a/plexus-containers.spec b/plexus-containers.spec
index b6f9a64..f374183 100644
--- a/plexus-containers.spec
+++ b/plexus-containers.spec
@@ -6,11 +6,11 @@
 
 # this needs to be exact version of maven-javadoc-plugin for
 # integration tests
-%global javadoc_plugin_version 2.7
+%global javadoc_plugin_version 2.8
 
 Name:           %{parent}-%{subname}
 Version:        1.5.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Containers for Plexus
 License:        ASL 2.0 and Plexus
 Group:          Development/Libraries
@@ -23,13 +23,12 @@ Source1:        plexus-container-default-build.xml
 Source2:        plexus-component-annotations-build.xml
 Source3:        plexus-containers-settings.xml
 
-Patch0:         plexus-containers-test-oom.patch
-
+Patch0:         0001-Fix-test-oom.patch
+Patch1:         0002-Fix-maven3-compatibility.patch
 
 BuildArch:      noarch
 
 BuildRequires:  jpackage-utils >= 0:1.7.3
-%if %{with_maven}
 BuildRequires:  maven
 BuildRequires:  maven-compiler-plugin
 BuildRequires:  maven-install-plugin
@@ -46,11 +45,6 @@ BuildRequires:  maven-doxia-sitetools
 BuildRequires:  maven2-common-poms >= 1.0
 BuildRequires:  maven-release
 BuildRequires:  maven-plugin-plugin
-%else
-BuildRequires:  ant >= 0:1.6.5
-BuildRequires:  ant-junit
-BuildRequires:  junit
-%endif
 BuildRequires:  plexus-classworlds
 BuildRequires:  plexus-utils
 BuildRequires:  plexus-cli
@@ -62,8 +56,6 @@ Requires:       plexus-utils
 Requires:       xbean
 Requires:       guava
 
-Requires(post):    jpackage-utils >= 0:1.7.2
-Requires(postun):  jpackage-utils >= 0:1.7.2
 
 %description
 The Plexus project seeks to create end-to-end developer tools for
@@ -130,7 +122,8 @@ Obsoletes:      %{name}-container-default-javadoc < %{version}-%{release}
 cp %{SOURCE1} plexus-container-default/build.xml
 cp %{SOURCE2} plexus-component-annotations/build.xml
 
-%patch0
+%patch0 -p1
+%patch1 -p1
 
 # to prevent ant from failing
 mkdir -p plexus-component-annotations/src/test/java
@@ -140,71 +133,46 @@ sed -i "s|<version>2.3</version>|<version> %{javadoc_plugin_version}</version>|"
 
 %build
 
-%if %{with_maven}
-    mvn-rpmbuild -Dmaven.test.skip=true install
-
-    # for integration tests ran during javadoc:javadoc
-    for file in $MAVEN_REPO_LOCAL/org/apache/maven/plugins/maven-javadoc-plugin/%{javadoc_plugin_version}/*;do
-        sha1sum $file | awk '{print $1}' > $ile.sha1
-    done
-
-    mvn-rpmbuild javadoc:aggregate
-%else
-export OPT_JAR_LIST="ant/ant-junit junit"
-pushd plexus-component-annotations
-export CLASSPATH=$(build-classpath \
-plexus/classworlds \
-)
-ant -Dbuild.sysclasspath=only jar javadoc
-popd
-pushd plexus-container-default
-rm src/test/java/org/codehaus/plexus/hierarchy/PlexusHierarchyTest.java
-CLASSPATH=$CLASSPATH:$(build-classpath \
-plexus/utils \
-)
-CLASSPATH=$CLASSPATH:../plexus-component-annotations/target/plexus-component-annotations-%{version}.jar
-CLASSPATH=$CLASSPATH:target/classes:target/test-classes
-ant -Dbuild.sysclasspath=only jar javadoc
-popd
-%endif
+mvn-rpmbuild -Dmaven.test.skip=true install
+
+# for integration tests ran during javadoc:javadoc
+for file in $MAVEN_REPO_LOCAL/org/apache/maven/plugins/maven-javadoc-plugin/%{javadoc_plugin_version}/*;do
+    sha1sum $file | awk '{print $1}' > $ile.sha1
+done
+
+mvn-rpmbuild javadoc:aggregate
 
 %install
 # jars
 install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/plexus
-install -pm 644 plexus-container-default/target/*.jar \
- $RPM_BUILD_ROOT%{_javadir}/%{parent}/containers-container-default.jar
 install -pm 644 plexus-component-annotations/target/*.jar \
- $RPM_BUILD_ROOT%{_javadir}/%{parent}/containers-component-annotations.jar
+ $RPM_BUILD_ROOT%{_javadir}/%{parent}/%{subname}-component-annotations.jar
+install -pm 644 plexus-container-default/target/*.jar \
+ $RPM_BUILD_ROOT%{_javadir}/%{parent}/%{subname}-container-default.jar
 install -pm 644 plexus-component-metadata/target/*.jar \
- $RPM_BUILD_ROOT%{_javadir}/%{parent}/containers-component-metadata.jar
+ $RPM_BUILD_ROOT%{_javadir}/%{parent}/%{subname}-component-metadata.jar
 install -pm 644 plexus-component-annotations/target/*.jar \
- $RPM_BUILD_ROOT%{_javadir}/%{parent}/containers-component-javadoc.jar
+ $RPM_BUILD_ROOT%{_javadir}/%{parent}/%{subname}-component-javadoc.jar
 
 # pom
 install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
-install -pm 644 \
- pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}.pom
-install -pm 644 \
- plexus-container-default/pom.xml \
- $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-container-default.pom
-install -pm 644 \
- plexus-component-annotations/pom.xml \
- $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-component-annotations.pom
-install -pm 644 \
- plexus-component-metadata/pom.xml \
- $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-component-metadata.pom
-install -pm 644 \
- plexus-component-javadoc/pom.xml \
- $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-component-javadoc.pom
-
-%add_to_maven_depmap org.codehaus.plexus %{name} %{version} JPP/%{parent} %{subname}
-%add_to_maven_depmap org.codehaus.plexus plexus-component-annotations %{version} JPP/%{parent} containers-component-annotations
-%add_to_maven_depmap org.codehaus.plexus plexus-container-default %{version} JPP/%{parent} containers-container-default
-%add_to_maven_depmap org.codehaus.plexus plexus-component-metadata %{version} JPP/%{parent} containers-component-metadata
-%add_to_maven_depmap org.codehaus.plexus plexus-component-javadoc %%{version} JPP/%{parent} containers-component-javadoc
-
+install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}.pom
+
+install -pm 644 plexus-component-annotations/pom.xml \
+         $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-annotations.pom
+install -pm 644 plexus-container-default/pom.xml \
+         $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}-container-default.pom
+install -pm 644 plexus-component-metadata/pom.xml \
+         $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-metadata.pom
+install -pm 644 plexus-component-javadoc/pom.xml \
+         $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-javadoc.pom
+
+%add_maven_depmap JPP.%{parent}-%{subname}.pom
+%add_maven_depmap JPP.%{parent}-%{subname}-component-annotations.pom %{parent}/%{subname}-component-annotations.jar -f component-annotations
 # component-api is now folded into container-default
-%add_to_maven_depmap org.codehaus.plexus containers-component-api %{version} JPP/%{parent} containers-container-default
+%add_maven_depmap JPP.%{parent}-%{subname}-container-default.pom %{parent}/%{subname}-container-default.jar -a "org.codehaus.plexus:containers-component-api" -f container-default
+%add_maven_depmap JPP.%{parent}-%{subname}-component-metadata.pom %{parent}/%{subname}-component-metadata.jar -f component-metadata
+%add_maven_depmap JPP.%{parent}-%{subname}-component-javadoc.pom %{parent}/%{subname}-component-javadoc.jar -f component-javadoc
 
 # javadoc
 install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
@@ -216,50 +184,38 @@ cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
 
 
-%post component-metadata
-%update_maven_depmap
-
-%postun component-metadata
-%update_maven_depmap
-
-%post component-annotations
-%update_maven_depmap
-
-%postun component-annotations
-%update_maven_depmap
-
-%post container-default
-%update_maven_depmap
-
-%postun container-default
-%update_maven_depmap
-
 %files
-%defattr(-,root,root,-)
-%{_mavenpomdir}/*
+%{_mavenpomdir}/JPP.%{parent}-%{subname}.pom
 %{_mavendepmapfragdir}/%{name}
 
 %files component-annotations
-%defattr(-,root,root,-)
-%{_javadir}/%{parent}/containers-component-annotations*
+%{_mavendepmapfragdir}/%{name}-component-annotations
+%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-annotations.pom
+%{_javadir}/%{parent}/containers-component-annotations.jar
 
 %files container-default
-%defattr(-,root,root,-)
-%{_javadir}/%{parent}/containers-container-default*
+%{_mavendepmapfragdir}/%{name}-container-default
+%{_mavenpomdir}/JPP.%{parent}-%{subname}-container-default.pom
+%{_javadir}/%{parent}/containers-container-default.jar
 
 %files component-metadata
-%defattr(-,root,root,-)
-%{_javadir}/%{parent}/containers-component-metadata*
+%{_mavendepmapfragdir}/%{name}-component-metadata
+%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-metadata.pom
+%{_javadir}/%{parent}/containers-component-metadata.jar
 
 %files component-javadoc
-%defattr(-,root,root,-)
-%{_javadir}/%{parent}/containers-component-javadoc*
+%{_mavendepmapfragdir}/%{name}-component-javadoc
+%{_mavenpomdir}/JPP.%{parent}-%{subname}-component-javadoc.pom
+%{_javadir}/%{parent}/containers-component-javadoc.jar
 
 %files javadoc
-%defattr(-,root,root,-)
 %doc %{_javadocdir}/*
 
 %changelog
+* Tue Jun 28 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 1.5.5-3
+- Fix maven3 build
+- Use new add_maven_depmap macro
+
 * Mon Feb 28 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 1.5.5-2
 - Remove unneeded env var definitions
 


More information about the scm-commits mailing list