LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File ws-jaxme.spec of Package ws-jaxme (Project Java:packages)

#
# spec file for package ws-jaxme
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define section   free
%define base_name jaxme

Name:           ws-jaxme
Version:        0.5.1
Release:        0
Summary:        Open source implementation of JAXB
License:        Apache-2.0
Group:          Development/Libraries/Java
Url:            http://ws.apache.org/jaxme/
Source0:        ws-jaxme-%{version}-src.tar.bz2
Patch0:         ws-jaxme-docs_xml.patch
Patch1:         ws-jaxme-catalog.patch
Patch2:         ws-jaxme-java6.patch
BuildRequires:  ant >= 1.6
BuildRequires:  ant-apache-resolver
BuildRequires:  ant-trax
BuildRequires:  antlr
BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  hsqldb
BuildRequires:  javapackages-tools
BuildRequires:  jaxp_transform_impl
BuildRequires:  junit >= 3.8.1
BuildRequires:  log4j
BuildRequires:  xalan-j2
BuildRequires:  xerces-j2
BuildRequires:  xml-commons-apis
BuildRequires:  xml-commons-resolver
BuildRequires:  xmldb-api
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch

%description
A Java/XML binding compiler takes as input a schema description (in
   most cases an XML schema, but it may be a DTD, a RelaxNG schema,
   a Java class inspected via reflection, or a database schema). The
   output is a set of Java classes: * A Java bean class matching the
   schema description. (If the schema was obtained via Java
   reflection, the original Java bean class.)

* Read a conforming XML document and convert it into the equivalent
   Java bean.

* Vice versa, marshal the Java bean back into the original XML
document.



%package        javadoc
Summary:        Open source implementation of JAXB
Group:          Development/Libraries/Java

%description    javadoc
A Java/XML binding compiler takes as input a schema description (in
   most cases an XML schema, but it may be a DTD, a RelaxNG schema,
   a Java class inspected via reflection, or a database schema). The
   output is a set of Java classes: * A Java bean class matching the
   schema description. (If the schema was obtained via Java
   reflection, the original Java bean class.)

* Read a conforming XML document and convert it into the equivalent
   Java bean.

* Vice versa, marshal the Java bean back into the original XML
document.



%package        manual
Summary:        Open source implementation of JAXB
Group:          Development/Libraries/Java

%description    manual
A Java/XML binding compiler takes as input a schema description (in
   most cases an XML schema, but it may be a DTD, a RelaxNG schema,
   a Java class inspected via reflection, or a database schema). The
   output is a set of Java classes: * A Java bean class matching the
   schema description. (If the schema was obtained via Java
   reflection, the original Java bean class.)

* Read a conforming XML document and convert it into the equivalent
   Java bean.

* Vice versa, marshal the Java bean back into the original XML
document.



%prep
%setup -q -n %{name}
find . -name "*.jar" | xargs rm
%patch0 -b .sav
%patch1 -b .sav
%patch2 -b .java6

%build
export OPT_JAR_LIST="ant/ant-trax jaxp_transform_impl ant/ant-apache-resolver"
export CLASSPATH=$(build-classpath \
antlr \
hsqldb \
log4j \
xalan-j2 \
xalan-j2-serializer \
xmldb-api \
xerces-j2 \
xml-commons-apis \
xml-commons-resolver \
junit)
ant all Docs.all \
-Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 \
-Dbuild.sysclasspath=first \
-Ddocbook.home=/usr/share/xml/docbook \
-Ddocbookxsl.home=/usr/share/xml/docbook/stylesheet/nwalsh/current

%install
install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{base_name}
for jar in dist/*.jar; do
   jbs=`basename ${jar}`
   jnm=`echo ${jbs} | sed -e 's|\.jar||'`
   install -Dpm 644 ${jar} \
     $RPM_BUILD_ROOT%{_javadir}/%{base_name}/ws-${jnm}.jar
done
(cd $RPM_BUILD_ROOT%{_javadir}/%{base_name} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
(cd $RPM_BUILD_ROOT%{_javadir}/%{base_name} && for jar in ws-*.jar; do ln -sf ${jar} `echo $jar| sed  "s|ws-||g"`; done)
#javadoc
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr build/docs/src/documentation/content/apidocs $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
#manual
install -dm 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -pr build/docs/src/documentation/content/manual $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(0644,root,root,0755)
%doc LICENSE
%{_javadir}/%{base_name}

%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}

%files manual
%defattr(0644,root,root,0755)
%doc %{_docdir}/%{name}-%{version}

%changelog