# Copyright (c) 2000-2009, 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. # # If you don't want to build with maven, and use straight ant instead, # give rpmbuild option '--without maven' %define with_maven 0 %define without_maven 1 %define section free Summary: Extract class/interface/method definitions from sources Name: qdox Version: 1.9.2 Release: 2%{?dist} Epoch: 0 License: ASL 2.0 URL: http://qdox.codehaus.org/ Group: Development/Libraries Source0: %{name}-%{version}-src.tar.gz # svn export http://svn.codehaus.org/qdox/tags/qdox-1.8/ Source1: build.xml.tar.gz Source2: qdox-settings.xml BuildRequires: jpackage-utils >= 0:1.7.4 BuildRequires: java-devel = 0:1.5.0 BuildRequires: ant >= 0:1.6 BuildRequires: ant-junit >= 0:1.6 BuildRequires: junit >= 0:3.8.1 BuildRequires: byaccj BuildRequires: jflex %if %{with_maven} BuildRequires: maven2 >= 2.0.7 BuildRequires: maven2-plugin-ant BuildRequires: maven2-plugin-antrun BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-dependency BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-release BuildRequires: maven2-plugin-resources BuildRequires: maven2-plugin-surefire BuildRequires: jmock >= 0:1.0 %endif Requires: java >= 0:1.5.0 Requires(post): jpackage-utils >= 0:1.7.4 Requires(postun): jpackage-utils >= 0:1.7.4 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %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: Documentation %description javadoc %{summary}. %if %{with_maven} %package manual Summary: Documents for %{name} Group: Documentation %description manual %{summary}. %endif %prep %setup -q -n %{name} for j in $(find . -name "*.jar"); do mv $j $j.no done rm bootstrap/yacc.linux ln -s /usr/bin/byaccj bootstrap/yacc.linux ln -s $(build-classpath jflex) bootstrap #ln -s $(build-classpath java-cup) bootstrap mkdir -p .m2/repository/JPP/maven2/default_poms tar xzf %{SOURCE1} cp %{SOURCE2} settings.xml sed -i -e "s|__JPP_URL_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml sed -i -e "s|__JAVADIR_PLACEHOLDER__|file://`pwd`/external_repo|g" settings.xml sed -i -e "s|__MAVENREPO_DIR_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml %build %if %{with_maven} mkdir external_repo ln -s %{_javadir} external_repo/JPP export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL mvn-jpp \ -e \ -s settings.xml \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install javadoc:javadoc %else mkdir -p src/java/com/thoughtworks/qdox/parser/impl export CLASSPATH=$(build-classpath jmock jflex):target/classes:target/test-classes java JFlex.Main \ -d src/java/com/thoughtworks/qdox/parser/impl \ src/grammar/lexer.flex pushd src byaccj \ -Jnorun \ -Jnoconstruct \ -Jclass=Parser \ -Jsemantic=Value \ -Jpackage=com.thoughtworks.qdox.parser.impl \ grammar/parser.y popd mv src/Parser.java src/java/com/thoughtworks/qdox/parser/impl #TODO reenable test when jmock is imported ant -Dbuild.sysclasspath=only -Dmaven.test.skip=true -Dmaven.mode.offline=true jar javadoc %endif %install rm -rf $RPM_BUILD_ROOT # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p target/%{name}-%{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) %add_to_maven_depmap %{name} %{name} %{version} JPP %{name} %add_to_maven_depmap com.thoughtworks.qdox qdox %{version} JPP %{name} # poms install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -m 644 pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # manual mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %if %{with_maven} rm -rf target/site/apidocs cp -pr target/site $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %endif %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(0644,root,root,0755) %doc %{_docdir}/%{name}-%{version}/LICENSE.txt %{_javadir}/%{name}.jar %{_javadir}/%{name}-%{version}.jar %{_datadir}/maven2/poms/* %{_mavendepmapfragdir}/* %files javadoc %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-%{version} %doc %{_javadocdir}/%{name} %if %{with_maven} %files manual %defattr(0644,root,root,0755) %doc %{_docdir}/%{name}-%{version}/site %endif %changelog * Sat Sep 19 2009 Alexander Kurtakov 0:1.9.2-2 - Remove not needed sources. * Tue Aug 18 2009 Alexander Kurtakov 0:1.9.2-1 - Update to 1.9.2. * Fri Apr 03 2009 Ralph Apel 0:1.8-1.jpp5 - 1.8 as qdox18 because of qdox frozen at 1.6.1 in JPP-5 * Tue Jul 01 2008 Ralph Apel 0:1.6.3-5.jpp5 - Restore to devel - Drop mockobjects BR * Fri Jun 13 2008 Ralph Apel 0:1.6.3-4.jpp5 - Add com.thoughtworks.qdox groupId to depmap frag * Tue Feb 26 2008 Ralph Apel 0:1.6.3-3jpp - Add settings file - Fix pom marking jmock dependency as of scope test - Fix -jpp-depmap.xml for asm2-parent * Mon Nov 26 2007 Ralph Apel 0:1.6.3-2jpp - Fix maven macro value * Thu Nov 22 2007 Ralph Apel 0:1.6.3-1jpp - Upgrade to 1.6.3 * Wed May 30 2007 Ralph Apel 0:1.6.2-1jpp - Upgrade to 1.6.2 - Activate tests while building with ant - Make Vendor, Distribution based on macro - Install depmap frags, poms * Thu Mar 22 2007 Vivek Lakshmanan 0:1.6.1-1jpp.ep1.4 - Rebuild with fixed component-info.xml * Fri Feb 23 2007 Ralph Apel 0:1.5-3jpp - Add option to build without maven - Omit tests when building without maven - Add gcj_support option * Mon Feb 20 2006 Ralph Apel - 0:1.5-2jpp - Rebuild for JPP-1.7, adapting to maven-1.1 * Wed Nov 16 2005 Ralph Apel - 0:1.5-1jpp - Upgrade to 1.5 - Build is now done with maven and requires jflex and byaccj * Wed Aug 25 2004 Fernando Nasser - 0:1.4-3jpp - Rebuild with Ant 1.6.2 * Fri Aug 06 2004 Ralph Apel - 0:1.4-2jpp - Upgrade to ant-1.6.X * Mon Jun 07 2004 Ralph Apel - 0:1.4-1jpp - Upgrade to 1.4 - Drop Requires: mockobjects (Build/Test only) * Tue Feb 24 2004 Ralph Apel - 0:1.3-1jpp - First JPackage release