diff --git a/.gitignore b/.gitignore index e69de29..179af13 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,17 @@ +/results_* +/*.src.rpm + +/qdox-1.6.1-src.tar.gz +/qdox-1.9.2-src.tar.gz +/qdox-1.10.1.tar.bz2 +/qdox-1.11-project.tar.bz2 +/qdox-1.12-project.tar.bz2 +/qdox-1.12.1-project.tar.bz2 +/qdox-2.0-M2-project.tar.gz +/qdox-2.0-M3-project.tar.gz +/qdox-2.0-M5-project.tar.gz +/qdox-2.0-M7-project.tar.gz +/qdox-2.0-M9-project.tar.gz +/qdox-2.0-M9.tar.gz +/qdox-2.0~M10.tar.gz +/qdox-2.0.0.tar.gz diff --git a/0001-Port-to-JFlex-1.7.0.patch b/0001-Port-to-JFlex-1.7.0.patch new file mode 100644 index 0000000..441858b --- /dev/null +++ b/0001-Port-to-JFlex-1.7.0.patch @@ -0,0 +1,39 @@ +From 31f530b26bd4625ffe41aa16c48836455ef81c23 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Fri, 7 Jun 2019 10:39:34 +0200 +Subject: [PATCH] Port to JFlex 1.7.0 + +--- + src/grammar/lexer.flex | 2 +- + .../java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/grammar/lexer.flex b/src/grammar/lexer.flex +index 9b567ff..cd9d5b6 100644 +--- a/src/grammar/lexer.flex ++++ b/src/grammar/lexer.flex +@@ -168,7 +168,7 @@ import java.util.*; + } + + public JFlexLexer( java.io.InputStream stream, java.io.Writer writer ) { +- this( stream ); ++ this( new java.io.InputStreamReader( stream, java.nio.charset.Charset.forName( "UTF-8" ) ) ); + this.writer = writer; + } + +diff --git a/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java b/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java +index c947f9b..5b415c0 100644 +--- a/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java ++++ b/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java +@@ -112,7 +112,7 @@ public class ClassLoaderLibrary + if ( sourceStream != null ) + { + Builder builder = getModelBuilder(); +- JavaLexer lexer = new JFlexLexer( sourceStream ); ++ JavaLexer lexer = new JFlexLexer( new java.io.InputStreamReader( sourceStream, java.nio.charset.Charset.forName( "UTF-8" ) ) ); + Parser parser = new Parser( lexer, builder ); + parser.setDebugLexer( debugLexer ); + parser.setDebugParser( debugParser ); +-- +2.21.0 + diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..dea833b --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +name=qdox +version="$(sed -n 's/Version:\s*//p' *.spec)" + +# RETRIEVE +wget "https://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/${version/'~'/'-'}/${name}-${version/'~'/'-'}-project.tar.gz" -O "${name}-${version}.orig.tar.gz" + +rm -rf tarball-tmp +mkdir tarball-tmp +pushd tarball-tmp +tar -xf "../${name}-${version}.orig.tar.gz" + +# CLEAN TARBALL +find -name '*.jar' -delete +find -name '*.class' -delete +# contains possibly proprietary binaries of YACC +rm -r */bootstrap + +tar -czf "../${name}-${version}.tar.gz" * +popd +rm -r tarball-tmp "${name}-${version}.orig.tar.gz" diff --git a/qdox-MANIFEST.MF b/qdox-MANIFEST.MF new file mode 100644 index 0000000..0ef2446 --- /dev/null +++ b/qdox-MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.thoughtworks.qdox +Bundle-Version: 1.6.3.v20081201-1400 +Export-Package: com.thoughtworks.qdox;version="1.6.3",com.thoughtworks + .qdox.ant;version="1.6.3",com.thoughtworks.qdox.directorywalker;versi + on="1.6.3",com.thoughtworks.qdox.junit;version="1.6.3",com.thoughtwor + ks.qdox.model;version="1.6.3",com.thoughtworks.qdox.model.util;versio + n="1.6.3",com.thoughtworks.qdox.parser;version="1.6.3",com.thoughtwor + ks.qdox.parser.impl;version="1.6.3",com.thoughtworks.qdox.parser.stru + cts;version="1.6.3",com.thoughtworks.qdox.tools;version="1.6.3" +Bundle-ManifestVersion: 2 +Import-Package: junit.framework;version="[3.8.2,4.0.0)";resolution:=op + tional,org.apache.tools.ant;version="[1.7.0,2.0.0)";resolution:=optio + nal,org.apache.tools.ant.types;version="[1.7.0,2.0.0)";resolution:=op + tional diff --git a/qdox.spec b/qdox.spec new file mode 100644 index 0000000..585d921 --- /dev/null +++ b/qdox.spec @@ -0,0 +1,328 @@ +%bcond_with bootstrap + +%global upstream_version %(echo %{version} | tr '~' '-') + +Name: qdox +Version: 2.0.0 +Release: 10%{?dist} +Summary: Extract class/interface/method definitions from sources +License: ASL 2.0 +URL: https://github.com/paul-hammant/qdox +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +# ./generate-tarball.sh +Source0: %{name}-%{version}.tar.gz +Source1: qdox-MANIFEST.MF +# Remove bundled binaries which are possibly proprietary +Source2: generate-tarball.sh + +Patch0: 0001-Port-to-JFlex-1.7.0.patch + +BuildRequires: byaccj +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: jflex +%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} + +%description javadoc +API docs for %{name}. + +%prep +%setup -q -n %{name}-%{upstream_version} +%patch0 -p1 + +# remove unnecessary dependency on parent POM +%pom_remove_parent + +# We don't need these plugins +%pom_remove_plugin :animal-sniffer-maven-plugin +%pom_remove_plugin :maven-assembly-plugin +%pom_remove_plugin :maven-failsafe-plugin +%pom_remove_plugin :maven-invoker-plugin +%pom_remove_plugin :maven-jflex-plugin +%pom_remove_plugin :maven-enforcer-plugin +%pom_remove_plugin :exec-maven-plugin + +%mvn_file : %{name} +%mvn_alias : qdox:qdox + +%build +%{?jpb_env} + +# Generate scanners (upstream does this with maven-jflex-plugin) +jflex -d src/main/java/com/thoughtworks/qdox/parser/impl src/grammar/lexer.flex +jflex -d src/main/java/com/thoughtworks/qdox/parser/impl src/grammar/commentlexer.flex + +# Generate parsers (upstream does this with exec-maven-plugin) +(cd ./src/main/java/com/thoughtworks/qdox/parser/impl + byaccj -v -Jnorun -Jnoconstruct -Jclass=DefaultJavaCommentParser -Jpackage=com.thoughtworks.qdox.parser.impl ../../../../../../../grammar/commentparser.y + byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jimplements=CommentHandler -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl -Jstack=500 ../../../../../../../grammar/parser.y +) + +# Build artifact +%mvn_build -f -- -Dmaven.compiler.source=1.7 -Dmaven.compiler.target=1.7 + +# Inject OSGi manifests +jar ufm target/%{name}-%{upstream_version}.jar %{SOURCE1} + +%install +%mvn_install + +%files -f .mfiles +%license LICENSE.txt +%doc README.md + +%files javadoc -f .mfiles-javadoc +%license LICENSE.txt + +%changelog +* Fri Jul 22 2022 Fedora Release Engineering - 2.0.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Feb 05 2022 Jiri Vanek - 2.0.0-9 +- Rebuilt for java-17-openjdk as system jdk + +* Fri Jan 21 2022 Fedora Release Engineering - 2.0.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 02 2021 Mikolaj Izdebski - 2.0.0-7 +- Set explicit Java compiler source/target levels to 1.7 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 2.0.0-5 +- Bootstrap build +- Non-bootstrap build + +* Wed Jan 27 2021 Fedora Release Engineering - 0:2.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0:2.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 11 2020 Jiri Vanek - 0:2.0.0-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Feb 26 2020 Marian Koncek - 2.0.0-1 +- Update to upstream version 2.0.0 + +* Thu Feb 13 2020 Fabio Valentini - 0:2.0.0-1 +- Update to version 2.0.0. + +* Thu Jan 30 2020 Fedora Release Engineering - 0:2.0-8.M9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 22 2019 Fabio Valentini - 0:2.0-7.M9 +- Remove unnecessary dependency on parent POM. + +* Tue Nov 05 2019 Mikolaj Izdebski - 2.0~M10-2 +- Mass rebuild for javapackages-tools 201902 + +* Wed Sep 18 2019 Marian Koncek - 2.0~M10-1 +- Update to upstream version 2.0~M10 + +* Sun Aug 18 2019 Fabio Valentini - 0:2.0-6.M9 +- Port to jflex 1.7.0. + +* Fri Jul 26 2019 Fedora Release Engineering - 0:2.0-5.M9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 07 2019 Mikolaj Izdebski - 2.0-5.M9 +- Port to JFlex 1.7.0 + +* Fri May 24 2019 Mikolaj Izdebski - 2.0-4.M9 +- Mass rebuild for javapackages-tools 201901 + +* Sat Feb 02 2019 Fedora Release Engineering - 0:2.0-4.M9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 31 2018 Michael Simacek - 0:2.0-3.M9 +- Repack tarball to remove possibly proprietary binaries + +* Sat Jul 14 2018 Fedora Release Engineering - 0:2.0-2.M9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 05 2018 Michael Simacek - 0:2.0-1.M9 +- Update to upstream version 2.0-M9 + +* Fri Feb 09 2018 Fedora Release Engineering - 0:2.0-0.12.M7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Sep 25 2017 Mikolaj Izdebski - 0:2.0-0.11.M7 +- Elimitate race condition when injecting JAR manifest +- Resolves: rhbz#1495243 + +* Tue Sep 12 2017 Mikolaj Izdebski - 0:2.0-0.10.M7 +- Update to upstream version 2.0-M7 + +* Thu Jul 27 2017 Fedora Release Engineering - 0:2.0-0.9.M5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0:2.0-0.8.M5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 20 2017 Michael Simacek - 0:2.0-0.7.M5 +- Backport patch for misparsed comments + +* Tue Jan 17 2017 Michael Simacek - 0:2.0-0.6.M5 +- Update to upstream version 2.0-M5 + +* Thu Feb 04 2016 Fedora Release Engineering - 0:2.0-0.5.M3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jun 22 2015 Mikolaj Izdebski - 0:2.0-0.4.M3 +- Update to upstream version 2.0-M3 + +* Thu Jun 18 2015 Fedora Release Engineering - 0:2.0-0.3.M2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Mar 24 2015 Mikolaj Izdebski - 0:2.0-0.2.M2 +- Regenerate build-requires +- Remove obsoletes on qdox-manual + +* Mon Oct 27 2014 Mikolaj Izdebski - 0:2.0-1.M2 +- Update to upstream version 2.0-M2 + +* Sun Jun 08 2014 Fedora Release Engineering - 0:1.12.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 29 2014 Mikolaj Izdebski - 0:1.12.1-9 +- Build with %%mvn_build + +* Tue Mar 04 2014 Stanislav Ochotnicky - 0:1.12.1-8 +- Use Requires: java-headless rebuild (#1067528) + +* Mon Aug 12 2013 akurtakov 0:1.12.1-7 +- Fix FTBFS bug#993187 . + +* Sun Aug 04 2013 Fedora Release Engineering - 0:1.12.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Feb 23 2013 Alexander Kurtakov 0:1.12.1-5 +- Remove wagon-webdav extension. + +* Thu Feb 14 2013 Fedora Release Engineering - 0:1.12.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG - 0:1.12.1-3 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Wed Jan 9 2013 Mikolaj Izdebski - 0:1.12.1-2 +- Run jflex manually before Maven build is started +- Resolves: rhbz#879653 + +* Tue Dec 11 2012 Alexander Kurtakov 0:1.12.1-1 +- Update to latest upstream release. + +* Tue Nov 13 2012 Stanislav Ochotnicky - 0:1.12-7 +- Add license to javadoc subpackage + +* Wed Aug 1 2012 Alexander Kurtakov 0:1.12-6 +- Inject osgi metadata from eclipse orbit. + +* Sat Jul 21 2012 Fedora Release Engineering - 0:1.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0:1.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jun 10 2011 Alexander Kurtakov 0:1.12-3 +- Build with maven 3.x. +- Adapt to current guidelines. + +* Tue Feb 08 2011 Fedora Release Engineering - 0:1.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Oct 5 2010 Alexander Kurtakov 0:1.12-1 +- Update to new version. + +* Mon Jun 7 2010 Alexander Kurtakov 0:1.11-3 +- Make sure to remove all yacc executables. + +* Mon Jun 7 2010 Alexander Kurtakov 0:1.11-2 +- Symlink byaccj to both yacc.linux and yacc.linux.x86_64 to keep it building as noarch. + +* Mon Mar 15 2010 Alexander Kurtakov 0:1.11-1 +- Update to 1.11. + +* Mon Feb 15 2010 Alexander Kurtakov 0:1.10.1-2 +- Rebuild for rhbz#565013. + +* Thu Jan 14 2010 Alexander Kurtakov 0:1.10.1-1 +- Update to upstream 1.10.1. + +* 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 diff --git a/sources b/sources new file mode 100644 index 0000000..36d0ac0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (qdox-2.0.0.tar.gz) = 2ea7bd97ca720856a3f61aa12d4ec681708b599fe87c8942ac19e41b59cb56d3583f0953dc280d6244334d19762b7fe0c5693ee7acbaff2a4b421a3c959139b6