BuildRequires: /proc BuildRequires: jpackage-1.4-compat # Copyright (c) 2000-2007, 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. # %define gcj_support 0 # If you don't want to build with maven, and use straight ant instead, # give rpmbuild option '--without maven' %define with_maven %{!?_without_maven:1}%{?_without_maven:0} %define without_maven %{?_without_maven:1}%{!?_without_maven:0} %define oname qdox Summary: Extract class/interface/method definitions from sources Name: qdox15 Version: 1.5 Release: alt1_5jpp1.7 Epoch: 0 License: Apache-style Software License URL: http://qdox.codehaus.org/ Group: Development/Java Source0: qdox-1.5-src.tar.gz # cvs -d :pserver:anonymous@cvs.qdox.codehaus.org:/home/projects/qdox/scm login # cvs -z3 -d :pserver:anonymous@cvs.qdox.codehaus.org:/home/projects/qdox/scm export -r QDOX_1_5 qdox Source1: pom-maven2jpp-depcat.xsl Source2: pom-maven2jpp-newdepmap.xsl Source3: pom-maven2jpp-mapdeps.xsl Source4: qdox-1.5-jpp-depmap.xml Source5: qdox-LocatedDef.java Source6: qdox-build.xml Patch0: qdox-1.5-project_xml.patch Patch1: qdox-1.5-parser_y.patch BuildRequires: jpackage-utils >= 0:1.6 %if %{with_maven} BuildRequires: maven-plugins >= 0:1.1 BuildRequires: saxon BuildRequires: saxon-scripts %endif BuildRequires: ant >= 0:1.6 BuildRequires: ant-junit >= 0:1.6 BuildRequires: junit >= 0:3.8.1 %if %{with_maven} BuildRequires: jmock >= 0:1.0 BuildRequires: mockobjects >= 0:0.09 %endif BuildRequires: byaccj BuildRequires: jflex %if ! %{gcj_support} BuildArch: noarch %endif %if %{gcj_support} BuildRequires: gnu-crypto BuildRequires: java-gcj-compat-devel Requires(post): java-gcj-compat Requires(postun): java-gcj-compat %endif %description QDox is a high speed, small footprint parser for extracting class/interface/method definitions from source files complete with JavaDoc @tags. It is designed to be used by active code generators or documentation tools. %package javadoc Summary: Javadoc for %{name} Group: Development/Documentation %description javadoc %{summary}. %prep %setup -q -n %{oname} cp %{SOURCE5} src/java/com/thoughtworks/qdox/parser/structs/LocatedDef.java cp %{SOURCE6} build.xml %patch0 -b .sav %patch1 -b .sav %build %if %{with_maven} export DEPCAT=$(pwd)/qdox-1.5-depcat.new.xml echo '<?xml version="1.0" standalone="yes"?>' > $DEPCAT echo '<depset>' >> $DEPCAT for p in $(find . -name project.xml); do pushd $(dirname $p) /usr/bin/saxon project.xml %{SOURCE1} >> $DEPCAT popd done echo >> $DEPCAT echo '</depset>' >> $DEPCAT /usr/bin/saxon $DEPCAT %{SOURCE2} > qdox-1.5-depmap.new.xml for p in $(find . -name project.xml); do pushd $(dirname $p) cp project.xml project.xml.orig /usr/bin/saxon -o project.xml project.xml.orig %{SOURCE3} map=%{SOURCE4} popd done export MAVEN_HOME_LOCAL=$(pwd)/.maven maven \ -Dmaven.repo.remote=file:/usr/share/maven/repository \ -Dmaven.home.local=$MAVEN_HOME_LOCAL \ -Dqdox.byaccj.executable=byaccj \ jar javadoc %else mkdir -p target/src/java/com/thoughtworks/qdox/parser/impl export CLASSPATH=$(build-classpath jflex) java JFlex.Main \ -d target/src/java/com/thoughtworks/qdox/parser/impl \ src/grammar/lexer.flex pushd target byaccj \ -Jnorun \ -Jnoconstruct \ -Jclass=Parser \ -Jsemantic=Value \ -Jpackage=com.thoughtworks.qdox.parser.impl \ ../src/grammar/parser.y popd mv target/Parser.java target/src/java/com/thoughtworks/qdox/parser/impl ant -Dbuild.sysclasspath=only jar javadoc %endif %install # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p target/%{oname}-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr target/docs/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink %if %{gcj_support} export CLASSPATH=$(build-classpath gnu-crypto) %{_bindir}/aot-compile-rpm %endif %post javadoc rm -f %{_javadocdir}/%{name} ln -s %{name}-%{version} %{_javadocdir}/%{name} %postun javadoc if [ "$1" = "0" ]; then rm -f %{_javadocdir}/%{name} fi %if %{gcj_support} %post if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %endif %if %{gcj_support} %postun if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %endif %files %doc LICENSE.txt %{_javadir}/%{name}.jar %{_javadir}/%{name}-%{version}.jar %if %{gcj_support} %dir %attr(-,root,root) %{_libdir}/gcj/%{name} %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.* %endif %files javadoc %doc %{_javadocdir}/* %changelog * Fri Aug 10 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.5-alt1_5jpp1.7 - converted from JPackage by jppimport script