[maven-enforcer] - Migration to plexus-containers-component-metadata - Maven3 compatibility patches - Minor spec file

Jaromír Cápík jcapik at fedoraproject.org
Thu Feb 2 17:53:00 UTC 2012


commit ac26947a16a861b1fcd8f23fceed4bcb1c820242
Author: Jaromir Capik <jcapik at redhat.com>
Date:   Thu Feb 2 18:52:26 2012 +0100

    - Migration to plexus-containers-component-metadata
    - Maven3 compatibility patches
    - Minor spec file changes according to the latest guidelines

 maven-enforcer-maven3-compat.patch                 |   15 +++++
 ...-enforcer-migration-to-component-metadata.patch |   34 ++++++++++
 ...equirePluginVersions-maven3-compatibility.patch |   31 +++++++++
 maven-enforcer.spec                                |   66 ++++++++++++--------
 4 files changed, 120 insertions(+), 26 deletions(-)
---
diff --git a/maven-enforcer-maven3-compat.patch b/maven-enforcer-maven3-compat.patch
new file mode 100644
index 0000000..f4249fa
--- /dev/null
+++ b/maven-enforcer-maven3-compat.patch
@@ -0,0 +1,15 @@
+diff -Naur enforcer-1.0.1.orig/enforcer-rules/pom.xml enforcer-1.0.1/enforcer-rules/pom.xml
+--- enforcer-1.0.1.orig/enforcer-rules/pom.xml	2012-02-02 18:05:33.000000000 +0100
++++ enforcer-1.0.1/enforcer-rules/pom.xml	2012-02-02 18:08:23.180927367 +0100
+@@ -36,6 +36,11 @@
+ 
+   <dependencies>
+     <dependency>
++       <groupId>org.apache.maven</groupId>
++       <artifactId>maven-compat</artifactId>
++       <version>3.0.3</version>
++    </dependency>
++    <dependency>
+       <groupId>org.apache.maven</groupId>
+       <artifactId>maven-artifact</artifactId>
+     </dependency>
diff --git a/maven-enforcer-migration-to-component-metadata.patch b/maven-enforcer-migration-to-component-metadata.patch
new file mode 100644
index 0000000..d8f8608
--- /dev/null
+++ b/maven-enforcer-migration-to-component-metadata.patch
@@ -0,0 +1,34 @@
+diff -Naur enforcer-1.0.1.orig/enforcer-api/pom.xml enforcer-1.0.1/enforcer-api/pom.xml
+--- enforcer-1.0.1.orig/enforcer-api/pom.xml	2011-06-14 20:48:04.000000000 +0200
++++ enforcer-1.0.1/enforcer-api/pom.xml	2012-02-02 17:59:04.643725565 +0100
+@@ -59,11 +59,11 @@
+       </plugin>
+       <plugin>
+         <groupId>org.codehaus.plexus</groupId>
+-        <artifactId>plexus-maven-plugin</artifactId>
++        <artifactId>plexus-component-metadata</artifactId>
+         <executions>
+           <execution>
+             <goals>
+-              <goal>descriptor</goal>
++              <goal>generate-metadata</goal>
+             </goals>
+           </execution>
+         </executions>
+diff -Naur enforcer-1.0.1.orig/enforcer-rules/pom.xml enforcer-1.0.1/enforcer-rules/pom.xml
+--- enforcer-1.0.1.orig/enforcer-rules/pom.xml	2011-06-14 20:48:04.000000000 +0200
++++ enforcer-1.0.1/enforcer-rules/pom.xml	2012-02-02 17:58:46.100495315 +0100
+@@ -101,11 +101,11 @@
+     <plugins>
+       <plugin>
+         <groupId>org.codehaus.plexus</groupId>
+-        <artifactId>plexus-maven-plugin</artifactId>
++        <artifactId>plexus-component-metadata</artifactId>
+         <executions>
+           <execution>
+             <goals>
+-              <goal>descriptor</goal>
++              <goal>generate-metadata</goal>
+             </goals>
+           </execution>
+         </executions>
diff --git a/maven-enforcer-requirePluginVersions-maven3-compatibility.patch b/maven-enforcer-requirePluginVersions-maven3-compatibility.patch
new file mode 100644
index 0000000..3b13d6c
--- /dev/null
+++ b/maven-enforcer-requirePluginVersions-maven3-compatibility.patch
@@ -0,0 +1,31 @@
+Index: src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+===================================================================
+--- enforcer-rules.orig/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java	(revision 1087082)
++++ enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java	(working copy)
+@@ -128,7 +128,7 @@
+     private Map phaseToLifecycleMap;
+ 
+     /** The lifecycles. */
+-    private List lifecycles;
++    private Collection lifecycles;
+ 
+     /** The factory. */
+     ArtifactFactory factory;
+@@ -175,14 +175,9 @@
+             }
+             catch (Exception e)
+             {
+-                log.info( "The requirePluginVersions rule is currently not compatible with Maven3.");
+-                /*
+-                 *
+-                 * NOTE: If this happens, we're bailing out right away.
+-                 *
+-                 *
+-                 */
+-                return;
++              Object defaultLifeCycles = ReflectionUtils.getValueIncludingSuperclasses("defaultLifeCycles", life);
++              Map lifecyclesMap = (Map)ReflectionUtils.getValueIncludingSuperclasses("lifecycles", defaultLifeCycles);
++              lifecycles = lifecyclesMap.values();
+             }
+             session = (MavenSession) helper.evaluate( "${session}" );
+             pluginManager = (PluginManager) helper.getComponent( PluginManager.class );
diff --git a/maven-enforcer.spec b/maven-enforcer.spec
index 0e3eb31..8de88ed 100644
--- a/maven-enforcer.spec
+++ b/maven-enforcer.spec
@@ -1,6 +1,6 @@
 Name:           maven-enforcer
 Version:        1.0.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Maven Enforcer
 
 Group:          Development/Libraries
@@ -8,6 +8,11 @@ License:        ASL 2.0
 URL:            http://maven.apache.org/enforcer
 Source0:        http://repo1.maven.org/maven2/org/apache/maven/enforcer/enforcer/%{version}/enforcer-%{version}-source-release.zip
 
+#748074 - maven-enforcer-plugin is not compatible with maven3
+Patch0:         %{name}-requirePluginVersions-maven3-compatibility.patch
+Patch1:         %{name}-migration-to-component-metadata.patch
+Patch2:         %{name}-maven3-compat.patch
+
 BuildArch: noarch
 
 BuildRequires: java-devel >= 1:1.6.0
@@ -30,11 +35,10 @@ BuildRequires: maven-shared-reporting-impl
 BuildRequires: maven-surefire-plugin
 BuildRequires: maven-surefire-provider-junit
 BuildRequires: plexus-containers-component-javadoc
+BuildRequires: plexus-containers-component-metadata
 Requires:      maven
 Requires:       jpackage-utils
 Requires:       java
-Requires(post):       jpackage-utils
-Requires(postun):     jpackage-utils
 
 %description
 Enforcer is a build rule execution framework.
@@ -80,6 +84,10 @@ This component contains the standard Enforcer Rules.
 %prep
 %setup -q -n enforcer-%{version}
 
+%patch0 -p0
+%patch1 -p1
+%patch2 -p1
+
 %build
 mvn-rpmbuild \
         -e \
@@ -98,22 +106,16 @@ install -m 644 maven-enforcer-plugin/target/maven-enforcer-plugin-%{version}.jar
 
 # poms
 install -d -m 755 %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
+install -pm 644 enforcer-api/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-api.pom
+install -pm 644 enforcer-rules/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
+install -pm 644 maven-enforcer-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-plugin.pom
 
-install -pm 644 pom.xml \
-                %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
-%add_to_maven_depmap org.apache.maven.enforcer enforcer %{version} JPP %{name}
-
-install -pm 644 enforcer-api/pom.xml \
-                %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-api.pom
-%add_to_maven_depmap org.apache.maven.enforcer enforcer-api %{version} JPP/%{name} enforcer-api
-
-install -pm 644 enforcer-rules/pom.xml \
-                %{buildroot}%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
-%add_to_maven_depmap org.apache.maven.enforcer enforcer-rules %{version} JPP/%{name} enforcer-rules
-
-install -pm 644 maven-enforcer-plugin/pom.xml \
-                %{buildroot}%{_mavenpomdir}/JPP.%{name}-plugin.pom
-%add_to_maven_depmap org.apache.maven.plugins maven-enforcer-plugin %{version} JPP/%{name} plugin
+# fragments
+%add_maven_depmap JPP-%{name}.pom
+%add_maven_depmap -f enforcer-api JPP.%{name}-enforcer-api.pom %{name}/enforcer-api.jar
+%add_maven_depmap -f enforcer-rules JPP.%{name}-enforcer-rules.pom %{name}/enforcer-rules.jar
+%add_maven_depmap -f plugin JPP.%{name}-plugin.pom %{name}/plugin.jar
 
 # javadoc
 install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
@@ -128,22 +130,34 @@ rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
 
 %files
 %dir %{_javadir}/%{name}
-%{_mavenpomdir}/*
-%{_mavendepmapfragdir}/*
-
-%files javadoc
-%{_javadocdir}/%{name}
+%{_mavenpomdir}/JPP-%{name}.pom
+%{_mavendepmapfragdir}/%{name}
 
 %files api
-%{_javadir}/%{name}/enforcer-api*
+%{_javadir}/%{name}/enforcer-api.jar
+%{_mavenpomdir}/JPP.%{name}-enforcer-api.pom
+%{_mavendepmapfragdir}/%{name}-enforcer-api
 
 %files rules
-%{_javadir}/%{name}/enforcer-rules*
+%{_javadir}/%{name}/enforcer-rules.jar
+%{_mavenpomdir}/JPP.%{name}-enforcer-rules.pom
+%{_mavendepmapfragdir}/%{name}-enforcer-rules
 
 %files -n maven-enforcer-plugin
-%{_javadir}/%{name}/plugin*
+%{_javadir}/%{name}/plugin.jar
+%{_mavenpomdir}/JPP.%{name}-plugin.pom
+%{_mavendepmapfragdir}/%{name}-plugin
+
+%files javadoc
+%{_javadocdir}/%{name}
+
 
 %changelog
+* Thu Feb 02 2012 Jaromir Capik <jcapik at redhat.com> - 1.0.1-4
+- Migration to plexus-containers-component-metadata
+- Maven3 compatibility patches
+- Minor spec file changes according to the latest guidelines
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 


More information about the scm-commits mailing list