File maven-assembly-plugin.spec of Package maven-assembly-plugin
%global bootstrap 1
%global _mavenpomdir /usr/share/maven2/poms
%global _mavendepmapfragdir /etc/maven/fragments
%global project_version 2.2-beta-5
Name: maven-assembly-plugin
Version: 2.2
Release: 0.4.beta5%{?dist}
Summary: Maven Assembly Plugin
Group: Development/Libraries
License: ASL 2.0
URL: http://maven.apache.org/plugins/maven-assembly-plugin/
#svn export http://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.2-beta-5/
#tar zcvf maven-assembly-plugin-2.2-beta-5-src.tar.gz maven-assembly-plugin-2.2-beta-5/
Source0: %{name}-%{project_version}-src.tar.gz
Source1: %{name}-jpp-depmap.xml
Patch0: pom.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Obsoletes: maven2-plugin-assembly <= 0:2.0.8
Provides: maven2-plugin-assembly = 1:%{version}-%{release}
BuildRequires: java
BuildRequires: jpackage-utils
BuildRequires: ant, ant-nodeps
BuildRequires: maven2
BuildRequires: mvn-helper
%if !%{bootstrap}
BuildRequires: maven2-plugin-assembly
BuildRequires: maven2-plugin-compiler
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-resources
BuildRequires: maven2-plugin-site
BuildRequires: maven2-plugin-plugin
BuildRequires: maven-surefire-maven-plugin
BuildRequires: maven-surefire-provider-junit
BuildRequires: maven2-plugin-javadoc
BuildRequires: maven-shared-filtering
BuildRequires: maven-doxia
BuildRequires: maven-doxia-sitetools
BuildRequires: plexus-container-default
BuildRequires: plexus-utils
BuildRequires: plexus-active-collections
BuildRequires: plexus-maven-plugin
BuildRequires: plexus-io
BuildRequires: plexus-interpolation
BuildRequires: plexus-archiver
BuildRequires: maven-shared-file-management
BuildRequires: maven-shared-repository-builder
BuildRequires: maven-shared-filtering
BuildRequires: easymock
BuildRequires: jdom
BuildRequires: jaxen
BuildRequires: saxpath
BuildRequires: junit
%endif
Requires: java
Requires: easymock
Requires: jdom
Requires: jaxen
Requires: saxpath
Requires: plexus-container-default
Requires: plexus-utils
Requires: plexus-active-collections
#Requires: plexus-maven-plugin
Requires: plexus-io
Requires: plexus-interpolation
Requires: plexus-archiver
Requires: maven-shared-repository-builder
Requires: maven-shared-filtering
Requires: jpackage-utils >= 0:1.7.2
Requires(post): jpackage-utils >= 0:1.7.2
Requires(postun): jpackage-utils >= 0:1.7.2
%description
A Maven 2 plugin to create archives of your project's sources, classes,
dependencies etc. from flexible assembly descriptors.
# %package javadoc
# Group: Documentation
# Summary: Javadoc for %{name}
# Requires: jpackage-utils >= 0:1.7.2
#
# %description javadoc
# API documentation for %{name}.
%prep
%setup -q -n %{name}-%{project_version}
%patch0
mkdir -p target/classes/
cp -pr src/main/resources/META-INF/ target/classes/
mvn-helper replace -r /usr/share/maven2/bootstrap_repo/mvn-pass1/ .
mvn-helper filter -f /etc/mvn-helper/config.xml .
%build
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
# seems koji don't have easymockclassextension
# mvn-jpp \
# -e \
# -Dmaven2.jpp.mode=true \
# -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
# -Dmaven2.jpp.depmap.file=%{SOURCE1} \
# -Dmaven.test.skip=true \
# install javadoc:javadoc
mvn --settings /usr/share/maven2/conf/settings-custom.xml -Dmaven.test.skip=true install
pushd target
mkdir tmp && pushd tmp
for file in `find .. -iname 'maven-assembly*.jar'`;do
jar -xf $file
sed -i 's/<role-hint>default<\/role-hint>//' META-INF/plexus/components.xml
jar -cfm $file META-INF/MANIFEST.MF .
done
popd
popd
%install
# jars
install -d -m 0755 %{buildroot}%{_javadir}
install -m 644 target/%{name}-%{project_version}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; \
do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
%add_to_maven_depmap org.apache.maven.plugins maven-assembly-plugin %{version} JPP maven-assembly-plugin
# poms
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml \
%{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
# javadoc
# install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}-%{version}
# cp -pr target/site/api*/* %{buildroot}%{_javadocdir}/%{name}-%{version}/
# ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
# rm -rf target/site/api*
%post
%update_maven_depmap
%postun
%update_maven_depmap
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_javadir}/*
%{_mavenpomdir}/
%{_mavendepmapfragdir}/
# %files javadoc
# %defattr(-,root,root,-)
# %{_javadocdir}/%{name}-%{version}
# %{_javadocdir}/%{name}
%changelog
* Tue Jun 15 2010 Alexander Kurtakov <akurtako@redhat.com> 2.2-0.4.beta5
- Add missing BuildRequires.
* Tue Jun 15 2010 Alexander Kurtakov <akurtako@redhat.com> 2.2-0.3.beta5
- Add missing Requires.
* Thu Jun 03 2010 Yong Yang <yyang@redhat.com> - 2.2-0.2.beta5
- Chmod 0644 for depmap.xml
- Fix Obsoletes and Provides
- Change to BR java
* Thu May 20 2010 Yong Yang <yyang@redhat.com> - 2.2-0.1.beta5
- Initial build