File plexus-interactivity.spec of Package plexus-interactivity

# Copyright (c) 2000-2005, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%global bootstrap 1
%global _mavenpomdir /usr/share/maven2/poms
%global _mavendepmapfragdir /etc/maven/fragments

%global parent plexus
%global subname interactivity

Name:           plexus-interactivity
Version:        1.0
Release:        0.3.a6.5%{?dist}
Epoch:          0
Summary:        Plexus Interactivity Handler Component
License:        MIT
Group:          Development/Libraries
URL:            http://plexus.codehaus.org/
# svn export \
#   http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interactivity-1.0-alpha-6/
# tar caf plexus-interactivity-1.0-alpha-6-src.tar.xz \
#   plexus-interactivity-1.0-alpha-6
Source0:        plexus-interactivity-1.0-alpha-6-src.tar.xz

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:      noarch
BuildRequires:  jpackage-utils
BuildRequires:  ant 
BuildRequires:  ant-nodeps 
BuildRequires:  maven2
BuildRequires:  mvn-helper xz
%if !%{bootstrap}
BuildRequires:  maven-compiler-plugin
BuildRequires:  maven-javadoc-plugin
BuildRequires:  maven-site-plugin
BuildRequires:  maven-surefire-maven-plugin
BuildRequires:  maven-install-plugin
BuildRequires:  maven-resources-plugin
BuildRequires:  maven-jar-plugin
BuildRequires:  jline
BuildRequires:  plexus-container-default
BuildRequires:  plexus-utils
%endif

Requires:  plexus-container-default
Requires:  plexus-utils
Requires:  jline

%description
The Plexus project seeks to create end-to-end developer tools for
writing applications. At the core is the container, which can be
embedded or for a full scale application server. There are many
reusable components for hibernate, form processing, jndi, i18n,
velocity, etc. Plexus also includes an application server which
is like a J2EE application server, without all the baggage.

# %package javadoc
# Summary:        Javadoc for %{name}
# Group:          Development/Documentation
# 
# %description javadoc
# Javadoc for %{name}.

%prep
%setup -q -n plexus-interactivity-1.0-alpha-6

mvn-helper replace -r /usr/share/maven2/bootstrap_repo/mvn-pass1/ .
mvn-helper filter -f /etc/mvn-helper/filters.xml .

%build
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
# mvn-jpp \
#         -e \
#         -Dmaven2.jpp.mode=true \
#         -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
#         -Dmaven.test.skip=true \
#         install javadoc:javadoc

mvn --settings /usr/share/maven2/conf/settings-custom.xml -Dmaven.test.skip=true install

%install
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/plexus
install -pm 644 \
  plexus-interactivity-api/target/%{name}-api-%{version}-alpha-6.jar \
  $RPM_BUILD_ROOT%{_javadir}/plexus/interactivity-api-%{version}.jar
install -pm 644 \
  plexus-interactivity-jline/target/%{name}-jline-%{version}-alpha-6.jar \
  $RPM_BUILD_ROOT%{_javadir}/plexus/interactivity-jline-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir}/plexus && \
 for jar in *-%{version}*; do \
     ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; \
 done \
)

install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -pm 644 \
pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{parent}-%{subname}.pom 
install -pm 644 \
plexus-interactivity-api/pom.xml \
 	$RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-interactivity-api.pom 
install -pm 644 \
plexus-interactivity-jline/pom.xml \
 	$RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-interactivity-jline.pom 

%add_to_maven_depmap org.codehaus.plexus %{name} %{version} JPP/%{parent} %{subname}
%add_to_maven_depmap org.codehaus.plexus %{name}-api %{version} JPP/%{parent} interactivity-api
%add_to_maven_depmap org.codehaus.plexus %{name}-jline %{version} JPP/%{parent} interactivity-jline 

# javadoc
# install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
# install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/api
# cp -pr plexus-interactivity-api/target/site/apidocs/* \
#   $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/api
# install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/jline
# cp -pr plexus-interactivity-jline/target/site/apidocs/* \
#   $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/jline
# ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}

%clean
rm -rf $RPM_BUILD_ROOT

%post
%update_maven_depmap

%postun
%update_maven_depmap

%files
%defattr(-,root,root,-)
%{_javadir}/*
%{_mavenpomdir}/
%{_mavendepmapfragdir}/

# %files javadoc
# %defattr(-,root,root,-)
# %doc %{_javadocdir}/*


%changelog
* Wed Jul 21 2010 Alexander Kurtakov <akurtako@redhat.com> 0:1.0-0.3.a6.5
- Really fix depmaps.

* Wed Jul 21 2010 Alexander Kurtakov <akurtako@redhat.com> 0:1.0-0.3.a6.4
- Add parent/subname defines to fix poms/depmaps.

* Wed Jul 21 2010 Alexander Kurtakov <akurtako@redhat.com> 0:1.0-0.3.a6.3
- Update to alpha 6.

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.0-0.3.a5.2.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:1.0-0.2.a5.2.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed Jul  9 2008 Tom "spot" Callaway <tcallawa@redhat.com> 1.0-0.1.a5.2.3
- drop repotag
- fix license tag

* Tue Mar 13 2007 Matt Wringe <mwringe@redhat.com> 1.0-0.1.a5.2jpp.2
- Add missing build requires for ant-nodeps

* Fri Feb 16 2007 Andrew Overholt <overholt@redhat.com> 1.0-0.1.a5.2jpp.1
- Remove javadoc symlinking

* Thu Feb 23 2006 Fernando Nasser <fnasser@redhat.com> - 0:1.0-0.a5.2jpp
- First JPP 1.7 build
- With remavenization to 1.1 by Deepak Bhole <dbhole@redhat.com>

* Mon Nov 07 2005 Ralph Apel <r.apel at r-apel.de> - 0:1.0-0.a5.1jpp
- First JPackage build