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
openSUSE Build Service is sponsored by