Blob Blame History Raw
Name:           maven-release
Version:        2.2
Release:        3%{?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 http://svn.apache.org/repos/asf/maven/release/tags/maven-release-2.2 maven-release-2.2
# tar cfJ maven-release-2.2.tar.xz maven-release-2.2 
Source0:        maven-release-2.2.tar.xz
# Remove jmock needed for tests and set source to 1.4 to support assert stmt
Patch0:         001-mavenrelease-skiptests.patch
# Remove deps needed for tests, till jmock gets packaged
Patch1:         002-mavenrelease-fixbuild.patch
BuildArch:      noarch

BuildRequires:  java-devel
BuildRequires:  jpackage-utils
BuildRequires:  maven
BuildRequires:  maven-scm 
BuildRequires:  maven-scm-test
BuildRequires:  maven-antrun-plugin
BuildRequires:  maven-jar-plugin
BuildRequires:  maven-javadoc-plugin
BuildRequires:  maven-source-plugin
BuildRequires:  maven-compiler-plugin
BuildRequires:  maven-install-plugin
BuildRequires:  maven-plugin-plugin
BuildRequires:  maven-resources-plugin
BuildRequires:  maven-site-plugin
BuildRequires:  maven-plugin-testing-harness
BuildRequires:  plexus-containers-component-metadata
BuildRequires:  plexus-utils
BuildRequires:  maven-surefire-maven-plugin
BuildRequires:  jaxen

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
mvn-rpmbuild -e -Dmaven.test.skip=true install javadoc:aggregate


%install
# jars
install -Dp -m 644 %{name}-manager/target/%{name}-manager-%{version}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-manager.jar
install -Dp -m 644 %{name}-plugin/target/%{name}-plugin-%{version}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-plugin.jar

# javadocs
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/
cp -rp target/site/apidocs  $RPM_BUILD_ROOT%{_javadocdir}/%{name}

# poms
install -d -m 755 $RPM_BUILD_ROOT/%{_mavenpomdir}
install -pm 644 pom.xml  \
  $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
install -pm 644 %{name}-manager/pom.xml  \
  $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}-manager.pom
install -pm 644 %{name}-plugin/pom.xml  \
  $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}-plugin.pom

%add_maven_depmap JPP-%{name}.pom %{name}.jar
%add_maven_depmap JPP-%{name}-manager.pom %{name}-manager.jar
%add_maven_depmap JPP-%{name}-plugin.pom %{name}-plugin.jar

%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}


%changelog
* Tue Jul 26 2011 Guido Grazioli <guido.grazioli@gmail.com> - 2.2-3
- Reinclude maven-scm-test in BRs

* Tue Jul 26 2011 Guido Grazioli <guido.grazioli@gmail.com> - 2.2-2
- Import patch provided by Jaromír Cápík (#725088)

* Mon Jul 18 2011 Guido Grazioli <guido.grazioli@gmail.com> - 2.2-1
- Update to 2.2
- Update to current guidelines
- Build with maven 3

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Jan 3 2011 Alexander Kurtakov <akurtako@redhat.com> 2.0-2
- Drop tomcat5 BRs.
- Drop versioned jars.

* Mon Sep 13 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-1
- Update to upstream 2.0

* Sat Sep 11 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn.4
- Fix build requires
- Use javadoc:aggregate goal

* Tue May 25 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn.3
- Fix build requires

* Mon May 10 2010 Guido Grazioli <guido.grazioli@gmail.com> - 2.0-0.659858svn.2
- Fix release tag
- Better macro usage

* Mon Apr 26 2010 Guido Grazioli <guido.grazioli@gmail.com> - 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 <guido.grazioli@gmail.com> - 2.0-0.659858svn
- Initial packaging