This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 44181523f0 Evaluate upgrading Groovy to 5.0.0 under JDK 11 runtime
constraint (#13679)
44181523f0 is described below
commit 44181523f0e9fa2299c228806d862c6db8bdd0cf
Author: Siman-hub <[email protected]>
AuthorDate: Thu Jan 22 06:52:22 2026 +0530
Evaluate upgrading Groovy to 5.0.0 under JDK 11 runtime constraint (#13679)
### Evaluation Purpose
This PR is an extension to another PR ( #13671 ) and evaluates upgrading
the Groovy engine from **4.0.x to 5.0.0 (earliest GA)** with a focus on
validating **SkyWalking’s JDK 11 runtime compatibility guarantee**.
Groovy is used as a runtime dependency in several OAP backend modules, so
this change is evaluated strictly from a **compatibility and policy**
perspective.
### Verification Results
Local evaluation was performed using **JDK 21 for build** and **JDK 11 for
runtime**, targeting the primary Groovy consumers (`log-analyzer` and
`meter-analyzer`).
- **Build Status:** SUCCESS (built with JDK 21)
- **Runtime Compatibility:**
Verified that the **OAP distribution starts successfully on JDK 11** with
Groovy 5.0.0.
- *Test:* Built full distribution (`-Pdist`) on JDK 21, then launched OAP
via `oapService.bat` using JDK 11.
- *Result:* Server started successfully and bound ports without any
`UnsupportedClassVersionError` or JVM compatibility failures.
- **Tests Passed:**
- `oap-server/analyzer/log-analyzer` (LAL script parsing)
- `oap-server/analyzer/meter-analyzer` (MAL script execution)
### Key Findings
- No compilation issues observed in backend modules.
- No Groovy/Spock incompatibilities detected in the existing test suite.
- Groovy 5.0.0 does not introduce runtime incompatibilities with JDK 11
based on the evaluated scope.
### Scope Notes
This PR is intended solely as a **compatibility evaluation** and does not
include test refactors, additional Groovy 5.x upgrades, or behavioral changes.
---
dist-material/release-docs/LICENSE | 2 +-
docs/en/changes/changes.md | 1 +
oap-server-bom/pom.xml | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dist-material/release-docs/LICENSE
b/dist-material/release-docs/LICENSE
index 6632dd2ac1..f7a026e7d1 100644
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -347,7 +347,7 @@ The text of each license is the standard Apache 2.0 license.
https://mvnrepository.com/artifact/org.apache.curator/curator-framework/4.3.0
Apache-2.0
https://mvnrepository.com/artifact/org.apache.curator/curator-recipes/4.3.0
Apache-2.0
https://mvnrepository.com/artifact/org.apache.curator/curator-x-discovery/4.3.0
Apache-2.0
- https://mvnrepository.com/artifact/org.apache.groovy/groovy/4.0.15
Apache-2.0
+ https://mvnrepository.com/artifact/org.apache.groovy/groovy/5.0.3
Apache-2.0
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpasyncclient/4.1.5
Apache-2.0
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.13
Apache-2.0
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.4.16
Apache-2.0
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 2ca4981b90..72d853451a 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -3,6 +3,7 @@
#### Project
* Fix E2E test metrics verify: make it failure if the metric values all null.
* Add `CLAUDE.md` as AI assistant guide for the project.
+* Upgrade Groovy to 5.0.3 in OAP backend.
#### OAP Server
diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml
index 4a35af481e..f6177d4135 100644
--- a/oap-server-bom/pom.xml
+++ b/oap-server-bom/pom.xml
@@ -60,7 +60,7 @@
<freemarker.version>2.3.31</freemarker.version>
<javaassist.version>3.25.0-GA</javaassist.version>
<vavr.version>0.10.3</vavr.version>
- <groovy.version>4.0.15</groovy.version>
+ <groovy.version>5.0.3</groovy.version>
<mvel.version>2.4.8.Final</mvel.version>
<commons-beanutils.version>1.11.0</commons-beanutils.version>
<flatbuffers-java.version>1.12.0</flatbuffers-java.version>