Sync from SUSE:SLFO:Main qdox revision fadbc5b988476d17b4c8e6e8e8ba7a7b

This commit is contained in:
Adrian Schröter 2024-05-03 23:46:36 +02:00
commit b0ea9cfbe0
6 changed files with 400 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

21
Port-to-JFlex-1.7.0.patch Normal file
View File

@ -0,0 +1,21 @@
+++ qdox-2.0.1/src/grammar/lexer.flex 2022-03-12 07:00:33.182053962 +0100
@@ -173,7 +173,7 @@
}
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;
}
--- qdox-2.0.1/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java 2021-11-13 15:25:20.000000000 +0100
+++ qdox-2.0.1/src/main/java/com/thoughtworks/qdox/library/ClassLoaderLibrary.java 2022-03-12 07:00:33.182053962 +0100
@@ -112,7 +112,7 @@
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 );

BIN
qdox-2.0.3-project.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

111
qdox-build.xml Normal file
View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="qdox" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.artifactId" value="qdox"/>
<property name="project.version" value="2.0.3"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<property name="compiler.source" value="1.8"/>
<property name="compiler.target" value="${compiler.source}"/>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir}"/>
</src>
</javac>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
source="${compiler.source}"
verbose="false"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
charset="ISO-8859-1"
linksource="false"
breakiterator="false"/>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Automatic-Module-Name" value="com.thoughtworks.qdox"/>
<attribute name="Bundle-Localization" value="plugin"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="%pluginName"/>
<attribute name="Bundle-RequiredExecutionEnvironment" value="J2SE-${compiler.target}"/>
<attribute name="Bundle-SymbolicName" value="com.thoughtworks.qdox"/>
<attribute name="Bundle-Vendor" value="%providerName"/>
<attribute name="Bundle-Version" value="${project.version}"/>
<attribute name="Export-Package" value="com.thoughtworks.qdox.ant;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.directorywalker;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.junit;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.model.util;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.model;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.parser.impl;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.parser.structs;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.parser;version=&quot;${project.version}&quot;,com.thoughtworks.qdox.tools;version=&quot;${project.version}&quot;,com.thoughtworks.qdox;version=&quot;${project.version}&quot;"/>
<attribute name="Import-Package" value="junit.framework;version=&quot;[3.8.2,4.0.0)&quot;;resolution:=optional,org.apache.tools.ant.types;version=&quot;[1.7.0,2.0.0)&quot;;resolution:=optional,org.apache.tools.ant;version=&quot;[1.7.0,2.0.0)&quot;;resolution:=optional"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

140
qdox.changes Normal file
View File

@ -0,0 +1,140 @@
-------------------------------------------------------------------
Thu Sep 21 05:55:13 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Build with java source/target levels 8
-------------------------------------------------------------------
Fri May 12 20:33:29 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Update to version 2.0.3:
* Changes:
+ Update documentation #41
+ interface should be ignored as modifier #115
+ add byaccj 1.15 binaries for Mac OS on aarch64 (#109)
+ Correctly resolve types with SourceFolderLibrary (#105)
+ #99 Seems QDox 2.0.1 has issue parsing parameters names named
"recordList" and "record"
-------------------------------------------------------------------
Sat Mar 12 06:06:28 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Add Automatic-Module-Name to the manifest
- Added patch:
* Port-to-JFlex-1.7.0.patch
+ Don't use deprecated inputstreamctor option
-------------------------------------------------------------------
Thu Jan 13 11:45:28 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Update to version 2.0.1:
* Changes:
+ Support Lambda Expression
+ Add SEALED / NON_SEALED tokens
+ #75 CodeBlock for Annotation with FieldReference should prefix
field with canonical name
+ Add UnqualifiedClassInstanceCreationExpression
+ updating jflex-maven-plugin to 1.8.2
+ Add reference to grammar documentation and hints to transform
it
+ Support Text Blocks
+ Support Sealed Classes
+ #67 Support records
+ #76 test with an @@ in comment
+ #64 Get interface via javaProjectBuilder.getClassByName
- Generate ant build file from maven pom and build using ant
-------------------------------------------------------------------
Thu Apr 29 23:11:06 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 2.0.0:
* No upstream changelog provided
-------------------------------------------------------------------
Mon Apr 8 11:22:57 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Do not depend on the parent pom, since we are not building
using Maven.
-------------------------------------------------------------------
Tue Jan 15 08:46:08 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- BuildRequires: java-cup-bootstrap and jflex-bootstrap to avoid
build cycle (bsc#1121958)
-------------------------------------------------------------------
Wed Jan 9 22:28:49 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use noun phrase in summary, and trim bias from descriptions.
-------------------------------------------------------------------
Tue Jan 1 12:48:23 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Update to version 2.0-M9
* Changed API to use Collections and Lists instead of Arrays
* No upstream changelog provided :/
-------------------------------------------------------------------
Mon Oct 29 10:51:58 UTC 2018 - Fridrich Strba <fstrba@suse.com>
- Install and package the maven artifact
-------------------------------------------------------------------
Thu Apr 5 06:12:32 UTC 2018 - fstrba@suse.com
- Build with java source and target version 6 in order to produce
bytecode understood by all supported java versions
-------------------------------------------------------------------
Fri Jun 9 10:30:22 UTC 2017 - tchvatal@suse.com
- Remove maven conditionals
- Drop javadoc to bootstrap
-------------------------------------------------------------------
Thu Aug 28 08:39:19 UTC 2014 - coolo@suse.com
- rename the conditional to junit_test and switch the default,
bootstrapping factory is more important than a single test
-------------------------------------------------------------------
Tue Aug 12 08:44:32 UTC 2014 - lnussel@suse.de
- introduce %with java_bootstrap to allow bootstrapping without junit
-------------------------------------------------------------------
Thu May 15 13:11:04 UTC 2014 - darin@darins.net
- Added xz build requirement for sles
- no bytecode check on sles
-------------------------------------------------------------------
Mon Sep 9 11:06:17 UTC 2013 - tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
-------------------------------------------------------------------
Fri Nov 30 18:11:00 UTC 2012 - cobexer@gmail.com
- update to 1.12.1
* bugfix release, see
* http://jira.codehaus.org/browse/QDOX/fixforversion/18944
-------------------------------------------------------------------
Wed Nov 28 14:55:25 UTC 2012 - mvyskocil@suse.com
- require saxon9 for build
-------------------------------------------------------------------
Wed Oct 24 12:41:58 UTC 2012 - mvyskocil@suse.com
- update to 1.12
* needed for the fop 1.1 update
* mostly bugfix release, see
* http://qdox.codehaus.org/changes-report.html
- disabled tests as they tends to randomly fails
-------------------------------------------------------------------
Tue May 5 14:21:19 CEST 2009 - mvyskocil@suse.cz
- Initial build in SUSE. Version 1.6.1 from jpp 5.0

102
qdox.spec Normal file
View File

@ -0,0 +1,102 @@
#
# spec file for package qdox
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: qdox
Version: 2.0.3
Release: 0
Summary: Tool to extract class/interface/method definitions from sources
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://github.com/paul-hammant/qdox
Source0: https://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/%{version}/%{name}-%{version}-project.tar.bz2
Source1: qdox-build.xml
Patch0: Port-to-JFlex-1.7.0.patch
BuildRequires: ant
BuildRequires: byaccj
BuildRequires: fdupes
BuildRequires: java-cup-bootstrap
BuildRequires: java-devel
BuildRequires: javapackages-local
BuildRequires: jflex-bootstrap
BuildArch: noarch
%description
QDox is a 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/Libraries/Java
%description javadoc
API docs for %{name}.
%prep
%setup -q
cp %{SOURCE1} build.xml
%patch0 -p1
find -name *.jar -delete
find -name *.class -delete
rm -rf bootstrap
# 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 :jflex-maven-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :exec-maven-plugin
%pom_remove_parent .
%build
# 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
)
%ant jar javadoc
%install
# jar
install -dm 0755 %{buildroot}%{_javadir}
install -pm 0644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
# pom
install -dm 0755 %{buildroot}%{_mavenpomdir}
install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom
%add_maven_depmap %{name}.pom %{name}.jar -a qdox:qdox
# javadoc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -aL target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE.txt
%doc README.md
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE.txt
%changelog