GROOVY-12096: Replace qdox with javaparser#2632
Conversation
JMH summary — classic (commit
|
| Group | Speedup | n |
|---|---|---|
| bench | 0.943 × | 26 |
| core | 1.026 × | 77 |
| grails | 1.095 × | 80 |
Baseline: dev/bench/jmh/<part>/classic/data.js on gh-pages, trailing 90 days. Daily dashboard · Per-suite raw data
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #2632 +/- ##
==================================================
+ Coverage 68.5180% 68.5430% +0.0249%
- Complexity 33597 33710 +113
==================================================
Files 1519 1523 +4
Lines 127384 127876 +492
Branches 23123 23232 +109
==================================================
+ Hits 87281 87650 +369
- Misses 32355 32458 +103
- Partials 7748 7768 +20
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.
| Benchmark suite | Current: bce2962 | Previous: 568bf98 | Ratio |
|---|---|---|---|
org.apache.groovy.bench.dispatch.CallsiteBench.dispatch_1_monomorphic_java |
35560.53682313535 ops/ms |
23028.17975286173 ops/ms |
1.54 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_java ( {"n":"2000"} ) |
52.802937500000006 us/op |
35.0502125 us/op |
1.51 |
org.apache.groovy.bench.StaticMethodCallIndyColdBench.staticSum_java ( {"n":"20000"} ) |
434.8573875 us/op |
274.46545000000015 us/op |
1.58 |
This comment was automatically generated by workflow using github-action-benchmark.
JMH summary — indy (commit
|
| Group | Speedup | n |
|---|---|---|
| bench | 1.003 × | 26 |
| core | 4.000 × | 77 |
| grails | 2.314 × | 80 |
Baseline: dev/bench/jmh/<part>/indy/data.js on gh-pages, trailing 90 days. Daily dashboard · Per-suite raw data
4f29d88 to
c12e414
Compare
There was a problem hiding this comment.
Pull request overview
This PR implements GROOVY-12096 by replacing QDox-based Java source parsing with JavaParser in Groovy’s doc generation and stub-generator test infrastructure, updating dependencies and verification metadata accordingly.
Changes:
- Swap Groovy docgenerator’s mock-source generation from QDox to a new JavaParser-backed source model (
JavaExtensionSourceSet), with new/updated tests. - Replace stub-generator test parsing helpers (QDox builder/category) with JavaParser-backed equivalents (
JavaParserSourceSet,JavaParserCategory). - Remove QDox dependency/version references and adjust Gradle dependencies + dependency verification metadata.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| versions.properties | Drops the qdox version entry (dependency no longer used). |
| subprojects/groovy-docgenerator/build.gradle | Replaces QDox dependency with javaparser-core. |
| subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/MockSourceGenerator.groovy | Migrates mock-source generation to consume JavaParser-backed method/type models. |
| subprojects/groovy-docgenerator/src/main/groovy/org/apache/groovy/docgenerator/JavaExtensionSourceSet.groovy | Adds JavaParser-backed parsing/type/javadoc model for extension sources. |
| subprojects/groovy-docgenerator/src/test/groovy/org/apache/groovy/docgenerator/MockSourceGeneratorTest.groovy | Adds coverage validating mock generation output based on JavaParser model and CLI paths. |
| subprojects/groovy-docgenerator/src/test/groovy/org/apache/groovy/docgenerator/JavaExtensionSourceSetTest.groovy | Adds focused tests for method/type rendering and javadoc parsing. |
| src/test/groovy/org/codehaus/groovy/tools/stubgenerator/StubTestCase.groovy | Switches stub test harness from QDox to JavaParser-backed parsing. |
| src/test/groovy/org/codehaus/groovy/tools/stubgenerator/QDoxCategory.groovy | Removes QDox-specific assertion category (no longer applicable). |
| src/test/groovy/org/codehaus/groovy/tools/stubgenerator/JavaParserSourceSet.groovy | Adds JavaParser-backed parsed-class/method views for stub assertions. |
| src/test/groovy/org/codehaus/groovy/tools/stubgenerator/JavaParserCategory.groovy | Adds category helpers for concise assertions against JavaParser-backed views. |
| gradle/verification-metadata.xml | Removes verification entries for the removed QDox dependency. |
| build.gradle | Replaces QDox test dependency with javaparser-core and removes QDox from tools deps. |
3b666ac to
a7fe588
Compare
a7fe588 to
bce2962
Compare
✅ All tests passed ✅Test SummaryBuild and test / lts (17, macos-latest) > :test
🏷️ Commit: bce2962 Learn more about TestLens at testlens.app. |
|



https://issues.apache.org/jira/browse/GROOVY-12096