[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