[java-sig-commits] [maven2] Build with XMvn

Mikolaj Izdebski mizdebsk at fedoraproject.org
Tue Sep 10 15:43:42 UTC 2013


commit dc10b045c813d2f0292900ce8addf05757878f73
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date:   Tue Sep 10 16:54:47 2013 +0200

    Build with XMvn

 maven2.spec |  116 +++++++++--------------------------------------------------
 1 files changed, 17 insertions(+), 99 deletions(-)
---
diff --git a/maven2.spec b/maven2.spec
index 19ea010..5084c54 100644
--- a/maven2.spec
+++ b/maven2.spec
@@ -4,8 +4,6 @@ Name:	    maven2
 Version:	2.2.1
 Release:	47%{?dist}
 Summary:	Java project management and project comprehension tool
-
-Group:		Development/Build Tools
 License:	ASL 2.0 and MIT and BSD
 URL:		http://maven.apache.org
 
@@ -51,127 +49,73 @@ the concept of a project object model (POM), Maven can manage a project's
 build, reporting and documentation from a central piece of information.
 
 %package -n maven-artifact
-Group:          Development/Libraries
 Summary:        Compatibility Maven artifact artifact
-Requires:       jpackage-utils
-Requires:       plexus-utils
-Requires:       plexus-containers-container-default
 
 %description -n maven-artifact
 Maven artifact manager artifact
 
 %package -n maven-artifact-manager
-Group:          Development/Libraries
 Summary:        Compatibility Maven artifact manager artifact
-Requires:       jpackage-utils
-Requires:       plexus-classworlds
-Requires:       plexus-utils
-Requires:       plexus-containers-container-default
-Requires:       maven-artifact = %{version}-%{release}
-Requires:       maven-wagon
 
 %description -n maven-artifact-manager
 Maven artifact manager artifact
 
 %package -n maven-error-diagnostics
-Group:          Development/Libraries
 Summary:        Compatibility Maven error diagnostics artifact
-Requires:       jpackage-utils
-Requires:       plexus-containers-container-default
 
 %description -n maven-error-diagnostics
 Maven error diagnostics artifact
 
 %package -n maven-model
-Group:          Development/Libraries
 Summary:        Compatibility Maven model artifact
-Requires:       jpackage-utils
-Requires:       plexus-utils
 
 %description -n maven-model
 Maven model artifact
 
 %package -n maven-monitor
-Group:          Development/Libraries
 Summary:        Compatibility Maven monitor artifact
-Requires:       jpackage-utils
 
 %description -n maven-monitor
 Maven monitor artifact
 
 %package -n maven-plugin-registry
-Group:          Development/Libraries
 Summary:        Compatibility Maven plugin registry artifact
-Requires:       jpackage-utils
-Requires:       plexus-utils
-Requires:       plexus-containers-container-default
 
 %description -n maven-plugin-registry
 Maven plugin registry artifact
 
 %package -n maven-profile
-Group:          Development/Libraries
 Summary:        Compatibility Maven profile artifact
-Requires:       jpackage-utils
-Requires:       maven-model = %{version}-%{release}
-Requires:       plexus-utils
-Requires:       plexus-interpolation
-Requires:       plexus-containers-container-default
 
 %description -n maven-profile
 Maven profile artifact
 
 %package -n maven-project
-Group:          Development/Libraries
 Summary:        Compatibility Maven project artifact
-Requires:       jpackage-utils
-Requires:       maven-artifact-manager = %{version}-%{release}
-Requires:       maven-profile = %{version}-%{release}
-Requires:       maven-plugin-registry = %{version}-%{release}
-Requires:       maven-model = %{version}-%{release}
-Requires:       maven-settings = %{version}-%{release}
-Requires:       plexus-interpolation
-Requires:       plexus-utils
-Requires:       plexus-containers-container-default
 
 %description -n maven-project
 Maven project artifact
 
 %package -n maven-settings
-Group:          Development/Libraries
 Summary:        Compatibility Maven settings artifact
-Requires:       jpackage-utils
-Requires:       maven-model = %{version}-%{release}
-Requires:       plexus-interpolation
-Requires:       plexus-utils
-Requires:       plexus-containers-container-default
 
 %description -n maven-settings
 Maven settings artifact
 
 %package -n maven-toolchain
-Group:          Development/Libraries
 Summary:        Compatibility Maven toolchain artifact
-Requires:       jpackage-utils
 
 %description -n maven-toolchain
 Maven toolchain artifact
 
 %package -n maven-plugin-descriptor
-Group:          Development/Libraries
 Summary:        Maven Plugin Description Model
-Requires:       jpackage-utils
-Requires:       maven
-Requires:       plexus-classworlds
-Requires:       plexus-containers-container-default
 
 %description -n maven-plugin-descriptor
 Maven toolchain artifact
 
 %package javadoc
 Summary:        Javadoc for %{name}
-Group:          Documentation
-Requires:       jpackage-utils
 
 %description javadoc
 Javadoc for %{name}.
@@ -197,10 +141,22 @@ Javadoc for %{name}.
 for nobuild in apache-maven maven-artifact-test \
                maven-compat maven-core maven-plugin-api \
                maven-plugin-parameter-documenter maven-reporting \
-               maven-script;do
+               maven-repository-metadata maven-script; do
     %pom_disable_module $nobuild
 done
 
+# Don't install parent POM
+%mvn_package :maven __noinstall
+
+# Install all artifacts in Maven 3 directory.
+%mvn_file ":{*}" %{main_pkg}/@1
+
+# these parts are compatibility versions which are available in
+# maven-3.x as well. We default to maven-3, but if someone asks for
+# 2.x we provide few compat versions
+%mvn_compat_version ":maven-{artifact,model,settings}" \
+                    2.0.2 2.0.6 2.0.7 2.0.8 2.2.1
+
 # Don't depend on backport-util-concurrent
 %pom_remove_dep :backport-util-concurrent
 %pom_remove_dep :backport-util-concurrent maven-artifact-manager
@@ -212,48 +168,10 @@ for pom in $(grep -l ">test<" $(find -name pom.xml | grep -v /test/)); do
 done
 
 %build
-mvn-rpmbuild -Dmaven.test.skip=true -P all-models \
-             install javadoc:aggregate
+%mvn_build -f -s -- -P all-models
 
 %install
-
-# maven2 directory in /usr/share/java
-install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{main_pkg}
-install -dm 755 $RPM_BUILD_ROOT%{_mavenpomdir}
-
-
-# parts of maven2 now go into separate subpackages
-for subdir in maven-artifact-manager maven-error-diagnostics \
-              maven-monitor maven-plugin-registry \
-              maven-profile maven-project maven-toolchain maven-plugin-descriptor ;do
-     pushd $subdir
-     install -m 644 target/$subdir-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{main_pkg}/$subdir.jar
-     install -m 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{main_pkg}-$subdir.pom
-     popd
-     %add_maven_depmap JPP.%{main_pkg}-$subdir.pom %{main_pkg}/$subdir.jar -f $subdir
-done
-
-# these parts are compatibility versions which are available in
-# maven-3.x as well. We default to maven-3, but if someone asks for
-# 2.x we provide few compat versions
-for subdir in \
-  maven-artifact \
-  maven-model \
-  maven-settings;
-do
-     pushd $subdir
-     install -m 644 target/$subdir-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{main_pkg}/$subdir.jar
-     install -m 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{main_pkg}-$subdir.pom
-     popd
-     %add_maven_depmap JPP.%{main_pkg}-$subdir.pom %{main_pkg}/$subdir.jar -f $subdir -v "2.0.2,2.0.6,2.0.7,2.0.8"
-     sed -i "s/\\($subdir\\)\\.\\(jar\\|pom\\)$/\\1-%{version}.\\2/" .mfiles-$subdir
-done
-
-# javadoc
-install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
-cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
-
-
+%mvn_install
 
 %files -n maven-artifact -f .mfiles-maven-artifact
 %doc LICENSE.txt NOTICE.txt
@@ -288,9 +206,8 @@ cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
 %files -n maven-plugin-descriptor -f .mfiles-maven-plugin-descriptor
 %doc LICENSE.txt NOTICE.txt
 
-%files javadoc
+%files javadoc -f .mfiles-javadoc
 %doc LICENSE.txt NOTICE.txt
-%{_javadocdir}/*
 
 
 %changelog
@@ -300,6 +217,7 @@ cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
 - Remove local depmap
 - Use mfiles to simplify %%files sections
 - Remove handling of custom settings.xml
+- Build with XMvn
 
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.1-46
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild


More information about the java-sig-commits mailing list