# maven-release parent pom version %global pversion 16 # maven-release-manager jar version %global mjarver 2.0 # maven-release-plugin jar version %global pjarver 2.0 Name: maven-release Version: 2.0 Release: 1%{?dist} Summary: Release a project updating the POM and tagging in the SCM Group: Development/Libraries License: ASL 2.0 URL: http://maven.apache.org/plugins/maven-release-plugin/ # tar creation instructions # svn export ttp://svn.apache.org/repos/asf//maven/release/tags/maven-release-2.0 maven-release-2.0 # tar cfJ maven-release-2.0.tar.xz maven-release-2.0 Source0: maven-release-2.0.tar.xz Source1: maven-release-jpp-depmap.xml # Remove jmock needed for tests and set source to 1.4 to support assert stmt Patch0: 001_mavenreleasemanager_fixbuild.patch # Remove deps needed for tests, till jmock gets packaged Patch1: 002_mavenreleaseplugin_skiptests.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: maven-scm >= 1.4-1 BuildRequires: maven-scm-test >= 1.4-1 BuildRequires: maven2 BuildRequires: maven2-common-poms >= 0:1.0-13 BuildRequires: maven2-plugin-antrun BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-source BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-plugin BuildRequires: maven2-plugin-resources BuildRequires: maven-site-plugin BuildRequires: maven-shared-plugin-testing-harness BuildRequires: plexus-maven-plugin BuildRequires: plexus-utils BuildRequires: maven-surefire-maven-plugin ### FIXME tomcat5-servlet-api should require tomcat5 (parent POM) BuildRequires: jaxen BuildRequires: tomcat5-servlet-2.4-api BuildRequires: tomcat5 Requires: java Requires: jpackage-utils Requires(post): jpackage-utils Requires(postun): jpackage-utils %description This plugin is used to release a project with Maven, saving a lot of repetitive, manual work. Releasing a project is made in two steps: prepare and perform. %package manager Summary: Release a project updating the POM and tagging in the SCM Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: jpackage-utils BuildArch: noarch %description manager This package contains %{name}-manager needed by %{name}-plugin. %package plugin Summary: Release a project updating the POM and tagging in the SCM Group: Development/Libraries Requires: %{name}-manager = %{version}-%{release} Requires: jpackage-utils BuildArch: noarch %description plugin This plugin is used to release a project with Maven, saving a lot of repetitive, manual work. Releasing a project is made in two steps: prepare and perform. %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} Requires: jpackage-utils Obsoletes: %{name}-manager-javadoc <= 2.0-1 Obsoletes: %{name}-plugin-javadoc <= 2.0-1 BuildArch: noarch %description javadoc This package contains the API documentation for %{name}. %prep %setup -q -n %{name}-%{version} %patch0 -p1 %patch1 -p1 cat > README << EOT %{name}-%{version} This plugin is used to release a project with Maven, saving a lot of repetitive, manual work. Releasing a project is made in two steps: prepare and perform. EOT %build export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL mvn-jpp \ -e \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven2.jpp.depmap.file=%{SOURCE1} \ -Dmaven.test.skip=true \ install javadoc:aggregate %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_javadir} # jars install -Dp -m 644 %{name}-manager/target/%{name}-manager-%{mjarver}.jar \ $RPM_BUILD_ROOT%{_javadir}/ (cd $RPM_BUILD_ROOT%{_javadir} \ && ln -sf %{name}-manager-%{mjarver}.jar %{name}-manager.jar) install -Dp -m 644 %{name}-plugin/target/%{name}-plugin-%{pjarver}.jar \ $RPM_BUILD_ROOT%{_javadir}/ (cd $RPM_BUILD_ROOT%{_javadir} \ && ln -sf %{name}-plugin-%{pjarver}.jar %{name}-plugin.jar) # javadocs mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -rp target/site/apidocs/ \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} (cd $RPM_BUILD_ROOT%{_javadocdir} && ln -sf %{name}-%{version} %{name}) # poms install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -pm 644 pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom install -pm 644 %{name}-manager/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}-manager.pom install -pm 644 %{name}-plugin/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}-plugin.pom %add_to_maven_depmap org.apache.maven.release %{name} %{pversion} JPP %{name} %add_to_maven_depmap org.apache.maven.release %{name}-manager %{mjarver} JPP %{name}-manager %add_to_maven_depmap org.apache.maven.plugins %{name}-plugin %{pjarver} JPP %{name}-plugin %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README %{_mavenpomdir}/JPP-%{name}.pom %{_mavendepmapfragdir}/* %files manager %defattr(-,root,root,-) %{_javadir}/*manager* %{_mavenpomdir}/JPP-%{name}-manager.pom %files plugin %defattr(-,root,root,-) %{_javadir}/*plugin* %{_mavenpomdir}/JPP-%{name}-plugin.pom %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name} %{_javadocdir}/%{name}-%{version} %post %update_maven_depmap %postun %update_maven_depmap %changelog * Mon Sep 13 2010 Guido Grazioli - 2.0-1 - Update to upstream 2.0 * Sat Sep 11 2010 Guido Grazioli - 2.0-0.659858svn.4 - Fix build requires - Use javadoc:aggregate goal * Tue May 25 2010 Guido Grazioli - 2.0-0.659858svn.3 - Fix build requires * Mon May 10 2010 Guido Grazioli - 2.0-0.659858svn.2 - Fix release tag - Better macro usage * Mon Apr 26 2010 Guido Grazioli - 2.0-0.659858svn.1 - Install maven-release-parent pom in dedicated package - Patch maven-release-plugin to skip helpmojo goal - Patch to skip tests depending on (unpackaged) jmock * Fri Apr 16 2010 Guido Grazioli - 2.0-0.659858svn - Initial packaging