You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2021/12/11 19:05:40 UTC
[groovy] branch master updated: GROOVY-10409: Bump qdox to 2.0.1
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new 3cc9dc6 GROOVY-10409: Bump qdox to 2.0.1
3cc9dc6 is described below
commit 3cc9dc6d2eb051b581d956e9813c9460f8dc1de8
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sun Dec 12 03:02:40 2021 +0800
GROOVY-10409: Bump qdox to 2.0.1
---
gradle/verification-metadata.xml | 5 +++
.../apache/groovy/docgenerator/DocGenerator.groovy | 36 +++++++++++++---------
versions.properties | 2 +-
3 files changed, 28 insertions(+), 15 deletions(-)
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 5652187..ee5f7f5 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -447,6 +447,11 @@
<pgp value="31fae244a81d64507b47182e1b2718089ce964b8"/>
</artifact>
</component>
+ <component group="com.thoughtworks.qdox" name="qdox" version="2.0.1">
+ <artifact name="qdox-2.0.1.jar">
+ <pgp value="b02137d875d833d9b23392ecae5a7fb608a0221c"/>
+ </artifact>
+ </component>
<component group="com.thoughtworks.xstream" name="xstream" version="1.4.11.1">
<artifact name="xstream-1.4.11.1.jar">
<pgp value="050a37a2e0577f4baa095b52602ec18d20c4661c"/>
diff --git a/subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/DocGenerator.groovy b/subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/DocGenerator.groovy
index c8189c2..a1da0c3 100644
--- a/subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/DocGenerator.groovy
+++ b/subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/DocGenerator.groovy
@@ -18,11 +18,11 @@
*/
package org.apache.groovy.docgenerator
-import com.thoughtworks.qdox.JavaDocBuilder
+import com.thoughtworks.qdox.JavaProjectBuilder
import com.thoughtworks.qdox.model.JavaClass
import com.thoughtworks.qdox.model.JavaMethod
import com.thoughtworks.qdox.model.JavaParameter
-import com.thoughtworks.qdox.model.Type
+import com.thoughtworks.qdox.model.JavaType
import groovy.cli.internal.CliBuilderInternal
import groovy.text.SimpleTemplateEngine
import groovy.text.Template
@@ -59,7 +59,7 @@ class DocGenerator {
* with its methods, javadoc comments and tags.
*/
private static DocSource parseSource(List<File> sourceFiles) {
- JavaDocBuilder builder = new JavaDocBuilder()
+ JavaProjectBuilder builder = new JavaProjectBuilder()
sourceFiles.each {
if (it.exists()) {
builder.addSource(it.newReader())
@@ -264,7 +264,7 @@ class DocGenerator {
private static class DocSource {
SortedSet<DocPackage> packages = new TreeSet<DocPackage>(SORT_KEY_COMPARATOR)
- void add(Type type, JavaMethod javaMethod) {
+ void add(JavaType type, JavaMethod javaMethod) {
DocType tempDocType = new DocType(type: type)
DocPackage aPackage = packages.find { it.name == tempDocType.packageName }
@@ -287,20 +287,20 @@ class DocGenerator {
def allTypes = allDocTypes.collectEntries{ [it.fullyQualifiedClassName, it] }
allTypes.each { name, docType ->
if (name.startsWith('primitives-and-primitive-arrays')) return
- Type next = docType.javaClass.superClass
+ JavaType next = docType.javaClass.superClass
while (next != null) {
if (allTypes.keySet().contains(next.value)) {
docType.inheritedMethods[allTypes[next.value]] = allTypes[next.value].docMethods
}
- next = next.javaClass.superClass
+ next = next.superClass
}
- def remaining = docType.javaClass.implementedInterfaces.toList()
+ def remaining = docType.javaClass.interfaces.toList()
while (!remaining.isEmpty()) {
def nextInt = remaining.remove(0)
if (allTypes.keySet().contains(nextInt.fullyQualifiedName)) {
docType.inheritedMethods[allTypes[nextInt.fullyQualifiedName]] = allTypes[nextInt.fullyQualifiedName].docMethods
}
- remaining.addAll(nextInt.implementedInterfaces.toList())
+ remaining.addAll(nextInt.interfaces.toList())
}
}
}
@@ -327,17 +327,25 @@ class DocGenerator {
}
private static class DocType {
- private Type type
+ private JavaType type
final String shortComment = "" // empty because cannot get a comment of JDK
SortedSet<DocMethod> docMethods = new TreeSet<DocMethod>(SORT_KEY_COMPARATOR)
Map<String, List<DocMethod>> inheritedMethods = new LinkedHashMap<String, List<DocMethod>>()
JavaClass getJavaClass() {
- type.javaClass
+ type
+ }
+
+ boolean isPrimitive(JavaType type) {
+ def componentType = type
+ for (; componentType.array; componentType = componentType.componentType) {
+ // do nothing
+ }
+ return componentType.primitive
}
String getPackageName() {
- if (type.primitive) {
+ if (isPrimitive(type)) {
return DocPackage.PRIMITIVE_TYPE_PSEUDO_PACKAGE
}
def fqcn = fullyQualifiedClassName
@@ -352,14 +360,14 @@ class DocGenerator {
}
String getFullyQualifiedClassName() {
- if (type.primitive) {
+ if (isPrimitive(type)) {
return DocPackage.PRIMITIVE_TYPE_PSEUDO_PACKAGE + '.' + type.toString()
}
DocUtil.resolveJdkClassName(type.toString())
}
boolean isInterface() {
- type.javaClass.isInterface()
+ type.isInterface()
}
String getSortKey() {
@@ -435,7 +443,7 @@ class DocGenerator {
}
boolean isStatic() {
- javaMethod.parentClass.name == 'DefaultGroovyStaticMethods'
+ javaMethod.declaringClass.name == 'DefaultGroovyStaticMethods'
}
String getSortKey() {
diff --git a/versions.properties b/versions.properties
index 4f75648..58c42f8 100644
--- a/versions.properties
+++ b/versions.properties
@@ -41,7 +41,7 @@ log4j=1.2.17
log4j2=2.15.0
openbeans=1.0.2
picocli=4.6.2
-qdox=1.12.1
+qdox=2.0.1
slf4j=1.7.32
xmlunit=1.6
xstream=1.4.18