df7574b
# svn revision
df7574b
%global svn_rev 659858
df7574b
# maven-release-manager version
df7574b
%global mversion 1.0
df7574b
# maven-release parent pom version
df7574b
%global pversion 5-SNAPSHOT
df7574b
# maven-release-manager jar version
df7574b
%global mjarver 1.0-alpha-%{pversion}
df7574b
# maven-release-plugin jar version
df7574b
%global pjarver 2.0-beta-8-SNAPSHOT
df7574b
df7574b
Name:           maven-release
df7574b
Version:        2.0
df7574b
Release:        0.%{svn_rev}svn.2%{?dist}
df7574b
Summary:        Release a project updating the POM and tagging in the SCM
df7574b
df7574b
Group:          Development/Libraries
df7574b
License:        ASL 2.0
df7574b
URL:            http://maven.apache.org/plugins/maven-release-plugin/
df7574b
# tar creation instructions
df7574b
# svn export -r659858 http://svn.apache.org/repos/asf/maven/release/trunk maven-release
df7574b
# tar cf maven-release-2.0.tar maven-release 
df7574b
# xz maven-release-2.0.tar
df7574b
Source0:        maven-release-2.0.tar.xz
df7574b
# Remove deps needed for tests, till jmock gets packaged
df7574b
Patch0:         001-mavenreleasemanager-skiptests.patch
df7574b
Patch1:         002-mavenreleaseplugin-skiptests.patch
df7574b
# Remove helpmojo goal, till maven-plugin-plugin gets updated
df7574b
Patch2:         003-mavenreleaseplugin-skiphelpmojo.patch
df7574b
BuildArch:      noarch
df7574b
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
df7574b
df7574b
BuildRequires:  java-devel
df7574b
BuildRequires:  jpackage-utils
df7574b
BuildRequires:  maven-scm >= 1.2-6
df7574b
BuildRequires:  maven2
df7574b
BuildRequires:  maven2-common-poms >= 0:1.0-13
df7574b
BuildRequires:  maven2-plugin-antrun
df7574b
BuildRequires:  maven2-plugin-jar
df7574b
BuildRequires:  maven2-plugin-javadoc
df7574b
BuildRequires:  maven2-plugin-source
df7574b
BuildRequires:  maven2-plugin-compiler
df7574b
BuildRequires:  maven2-plugin-install
df7574b
BuildRequires:  maven2-plugin-plugin
df7574b
BuildRequires:  maven2-plugin-resources
df7574b
BuildRequires:  maven2-plugin-site
df7574b
BuildRequires:  maven-shared-plugin-testing-harness
df7574b
BuildRequires:  plexus-maven-plugin
df7574b
BuildRequires:  plexus-utils
df7574b
### FIXME tomcat5-servlet-api should require tomcat5 (parent POM)
df7574b
BuildRequires:  tomcat5-servlet-2.4-api
df7574b
BuildRequires:  tomcat5
df7574b
df7574b
Requires:       java 
df7574b
Requires:       jpackage-utils
df7574b
df7574b
Requires(post):   jpackage-utils
df7574b
Requires(postun): jpackage-utils
df7574b
df7574b
df7574b
%description
df7574b
This plugin is used to release a project with Maven, saving a lot of 
df7574b
repetitive, manual work. Releasing a project is made in two steps: 
df7574b
prepare and perform.
df7574b
df7574b
df7574b
%package manager
df7574b
Summary:        Release a project updating the POM and tagging in the SCM
df7574b
Group:          Development/Libraries
df7574b
Requires:       %{name} = %{version}-%{release}
df7574b
Requires:       jpackage-utils
df7574b
BuildArch:      noarch
df7574b
df7574b
%description manager
df7574b
This package contains %{name}-manager needed by %{name}-plugin.
df7574b
df7574b
df7574b
%package plugin
df7574b
Summary:        Release a project updating the POM and tagging in the SCM
df7574b
Group:          Development/Libraries
df7574b
Requires:       %{name}-manager = %{version}-%{release}
df7574b
Requires:       jpackage-utils
df7574b
BuildArch:      noarch
df7574b
df7574b
%description plugin
df7574b
This plugin is used to release a project with Maven, saving a lot of
df7574b
repetitive, manual work. Releasing a project is made in two steps:
df7574b
prepare and perform.
df7574b
df7574b
df7574b
%package manager-javadoc
df7574b
Summary:        Javadocs for %{name}-manager
df7574b
Group:          Documentation
df7574b
Requires:       %{name}-manager = %{version}-%{release}
df7574b
Requires:       jpackage-utils
df7574b
BuildArch:      noarch
df7574b
df7574b
%description manager-javadoc
df7574b
This package contains the API documentation for %{name}-manager.
df7574b
df7574b
df7574b
%package plugin-javadoc
df7574b
Summary:        Javadocs for %{name}-plugin
df7574b
Group:          Documentation
df7574b
Requires:       %{name}-plugin = %{version}-%{release}
df7574b
Requires:       jpackage-utils
df7574b
BuildArch:      noarch
df7574b
df7574b
%description plugin-javadoc
df7574b
This package contains the API documentation for %{name}-plugin.
df7574b
df7574b
df7574b
%prep
df7574b
%setup -q -n %{name}
df7574b
%patch0 -p1
df7574b
%patch1 -p1
df7574b
%patch2 -p1
df7574b
cat > README << EOT
df7574b
%{name}-%{version}
df7574b
df7574b
This plugin is used to release a project with Maven, saving a lot of
df7574b
repetitive, manual work. Releasing a project is made in two steps:
df7574b
prepare and perform.
df7574b
EOT
df7574b
df7574b
df7574b
%build
df7574b
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
df7574b
mkdir -p $MAVEN_REPO_LOCAL
df7574b
df7574b
mvn-jpp \
df7574b
  -e  \
df7574b
  -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
df7574b
  -Dmaven.test.skip=true \
df7574b
  install javadoc:javadoc
df7574b
df7574b
df7574b
%install
df7574b
rm -rf $RPM_BUILD_ROOT
df7574b
mkdir -p $RPM_BUILD_ROOT%{_javadir}
df7574b
df7574b
# jars
df7574b
install -Dp -m 644 %{name}-manager/target/%{name}-manager-%{mjarver}.jar \
df7574b
  $RPM_BUILD_ROOT%{_javadir}/
df7574b
(cd $RPM_BUILD_ROOT%{_javadir} \
df7574b
  && ln -sf %{name}-manager-%{mjarver}.jar %{name}-manager-%{mversion}.jar \
df7574b
  && ln -sf %{name}-manager-%{mjarver}.jar %{name}-manager.jar)
df7574b
df7574b
install -Dp -m 644 %{name}-plugin/target/%{name}-plugin-%{pjarver}.jar \
df7574b
  $RPM_BUILD_ROOT%{_javadir}/
df7574b
(cd $RPM_BUILD_ROOT%{_javadir} \
df7574b
  && ln -sf %{name}-plugin-%{pjarver}.jar %{name}-plugin-%{version}.jar \
df7574b
  && ln -sf %{name}-plugin-%{pjarver}.jar %{name}-plugin.jar)
df7574b
df7574b
# javadocs
df7574b
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-manager-%{mversion}
df7574b
cp -rp %{name}-manager/target/site/apidocs/  \
df7574b
  $RPM_BUILD_ROOT%{_javadocdir}/%{name}-manager-%{mversion}
df7574b
(cd $RPM_BUILD_ROOT%{_javadocdir} && ln -sf %{name}-manager-%{mversion} %{name}-manager)
df7574b
df7574b
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-plugin-%{version}
df7574b
cp -rp %{name}-plugin/target/site/apidocs/  \
df7574b
  $RPM_BUILD_ROOT%{_javadocdir}/%{name}-plugin-%{version}
df7574b
(cd $RPM_BUILD_ROOT%{_javadocdir} && ln -sf %{name}-plugin-%{version} %{name}-plugin)
df7574b
df7574b
# poms
df7574b
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
df7574b
install -pm 644 pom.xml  \
df7574b
  $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom
df7574b
install -pm 644 %{name}-manager/pom.xml  \
df7574b
  $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}-manager.pom
df7574b
install -pm 644 %{name}-plugin/pom.xml  \
df7574b
  $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}-plugin.pom
df7574b
df7574b
%add_to_maven_depmap org.apache.maven.release %{name} %{pversion} JPP %{name}
df7574b
%add_to_maven_depmap org.apache.maven.release %{name}-manager %{mjarver} JPP %{name}-manager
df7574b
%add_to_maven_depmap org.apache.maven.plugins %{name}-plugin %{pjarver} JPP %{name}-plugin
df7574b
df7574b
df7574b
%clean
df7574b
rm -rf $RPM_BUILD_ROOT
df7574b
df7574b
df7574b
%files
df7574b
%defattr(-,root,root,-)
df7574b
%doc README
df7574b
%{_mavenpomdir}/JPP-%{name}.pom
df7574b
%{_mavendepmapfragdir}/*
df7574b
df7574b
df7574b
%files manager
df7574b
%defattr(-,root,root,-)
df7574b
%{_javadir}/*manager*
df7574b
%{_mavenpomdir}/JPP-%{name}-manager.pom
df7574b
df7574b
df7574b
%files plugin
df7574b
%defattr(-,root,root,-)
df7574b
%{_javadir}/*plugin*
df7574b
%{_mavenpomdir}/JPP-%{name}-plugin.pom
df7574b
df7574b
df7574b
%files manager-javadoc
df7574b
%defattr(-,root,root,-)
df7574b
%{_javadocdir}/%{name}-manager
df7574b
%{_javadocdir}/%{name}-manager-%{mversion}
df7574b
df7574b
df7574b
%files plugin-javadoc
df7574b
%defattr(-,root,root,-)
df7574b
%{_javadocdir}/%{name}-plugin
df7574b
%{_javadocdir}/%{name}-plugin-%{version}
df7574b
df7574b
df7574b
%post
df7574b
%update_maven_depmap
df7574b
df7574b
df7574b
%postun
df7574b
%update_maven_depmap
df7574b
df7574b
df7574b
%changelog
df7574b
* Mon May 10 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn.2
df7574b
- Fix release tag
df7574b
- Better macro usage
df7574b
df7574b
* Mon Apr 26 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn.1
df7574b
- Install maven-release-parent pom in dedicated package
df7574b
- Patch maven-release-plugin to skip helpmojo goal
df7574b
- Patch to skip tests depending on (unpackaged) jmock
df7574b
df7574b
* Fri Apr 16 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn
df7574b
- Initial packaging