%define name axis
%define version 1.2
%define archivever 1_2RC2
%define release 0.rc2.1jpp_1rh
%define section free
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 0
Summary: A SOAP implementation in Java
License: Apache Software License
Group: Development/Libraries/Java
Url: http://ws.apache.org/%{name}/
Source0: %{url}/dist/%{archivever}/%{name}-%{archivever}-src.tar.gz
#Vendor: JPackage Project
#Distribution: JPackage
BuildRequires: jpackage-utils >= 0:1.5
BuildRequires: java-devel
BuildRequires: ant
# Mandatory requires
BuildRequires: wsdl4j
BuildRequires: jakarta-commons-logging
BuildRequires: jakarta-commons-discovery
BuildRequires: log4j
BuildRequires: javamail
BuildRequires: jaf
# optional requires
BuildRequires: servlet oro junit jimi jsse
BuildRequires: jakarta-commons-httpclient
BuildRequires: httpunit
BuildRequires: jms
BuildRequires: castor
#BuildRequires: xml-security
Requires: jpackage-utils >= 0:1.5
Requires: java
Requires: wsdl4j
Requires: jakarta-commons-logging
Requires: jakarta-commons-discovery
Requires: log4j
Requires: jaf
Requires: javamail
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
%description
Apache AXIS is an implementation of the SOAP ("Simple Object Access Protocol")
submission to W3C.
From the draft W3C specification:
SOAP is a lightweight protocol for exchange of information in a decentralized,
distributed environment. It is an XML based protocol that consists of three
parts: an envelope that defines a framework for describing what is in a message
and how to process it, a set of encoding rules for expressing instances of
application-defined datatypes, and a convention for representing remote
procedure calls and responses.
This project is a follow-on to the Apache SOAP project.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Libraries/Java
%description javadoc
Javadoc for %{name}.
%package manual
Summary: Manual for %{name}
Group: Development/Libraries/Java
%description manual
Documentation for %{name}.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n %{name}-%{archivever}
# Remove provided binaries
find . -name "*.jar" -exec rm -f {} \;
find . -name "*.zip" -exec rm -f {} \;
find . -name "*.class" -exec rm -f {} \;
%build
[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
CLASSPATH=$(build-classpath wsdl4j jakarta-commons-logging jakarta-commons-discovery log4j jaf javamail/mailapi)
export CLASSPATH=$CLASSPATH:$(build-classpath servlet oro junit jimi xml-security jsse jakarta-commons-httpclient httpunit jms castor 2>/dev/null)
ant -Dcompile.ime=true \
-Dwsdl4j.jar=$(build-classpath wsdl4j) \
-Dcommons-logging.jar=$(build-classpath jakarta-commons-logging) \
-Dcommons-discovery.jar=$(build-classpath jakarta-commons-discovery) \
-Dlog4j-core.jar=$(build-classpath log4j) \
-Dactivation.jar=$(build-classpath jaf) \
-Dmailapi.jar=$(build-classpath javamail/mailapi) \
-Dxerces.jar=$(build-classpath jaxp_parser_impl) \
-Dservlet.jar=$(build-classpath servlet 2>/dev/null) \
-Dregexp.jar=$(build-classpath oro 2>/dev/null) \
-Djunit.jar=$(build-classpath junit 2>/dev/null) \
-Djimi.jar=$(build-classpath jimi 2>/dev/null) \
-Djsse.jar=$(build-classpath jsse/jsse 2>/dev/null) \
-Dcommons-httpclient.jar=$(build-classpath jakarta-commons-httpclient 2>/dev/null) \
clean compile javadocs
%install
### Jar files
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
pushd build/lib
install -m 644 axis.jar axis-ant.jar saaj.jar jaxrpc.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}
popd
pushd $RPM_BUILD_ROOT%{_javadir}/%{name}
for jar in *.jar ; do
vjar=$(echo $jar | sed s+.jar+-%{version}.jar+g)
mv $jar $vjar
ln -fs $vjar $jar
done
popd
### Javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
pushd docs
rm -fr apiDocs
ln -fs %{_javadocdir}/%{name} apiDocs
popd
%clean
rm -rf $RPM_BUILD_ROOT
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%defattr(0644,root,root,0755)
%doc LICENSE README release-notes.html changelog.html
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/*.jar
%files javadoc
%defattr(0644,root,root,0755)
%dir %{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}-%{version}/*
%files manual
%defattr(0644,root,root,0755)
%doc docs/*
%changelog
* Wed Dec 22 2004 Fernando Nasser <fnasser@redhat.com> 0:1.2-0.rc2.1jpp_1rh
- Merge with upstream for upgrade
* Wed Dec 22 2004 Fernando Nasser <fnasser@redhat.com> 0:1.2-0.rc2.1jpp
- Upgrade to 1.2.rc2
* Thu Mar 4 2004 Frank Ch. Eigler <fche@redhat.com> 0:1.1-2jpp_1rh
- RH vacuuming
* Thu Jun 26 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 0:1.1-2jpp
- fix javadoc versionning
* Thu Jun 26 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 0:1.1-1jpp
- Initial packaging
- no xml security for now since xml-security is not packaged yet
- functional tests not executed yet - seems they need some setup and do not
run out of the box
- no webapp right now - file layout is too messy if hidden into a war file
since jpp installs webapps expanded, this matters