Skip to content

Updating commons-lang3 and testng dependencies - #9254

Merged
matthiasblaesing merged 2 commits into
apache:masterfrom
sid-srini:update-outdated-deps
Jun 4, 2026
Merged

Updating commons-lang3 and testng dependencies#9254
matthiasblaesing merged 2 commits into
apache:masterfrom
sid-srini:update-outdated-deps

Conversation

@sid-srini

@sid-srini sid-srini commented Mar 10, 2026

Copy link
Copy Markdown
Contributor

Updated the following third-party dependency modules:

  1. apache commons lang3: from 3.17.0 to 3.19.0
  2. testng: from 6.14.3 to 7.11.0

@mbien mbien added Upgrade Library Library (Dependency) Upgrade tests ci:all-tests [ci] enable all tests labels Mar 10, 2026
@apache apache locked and limited conversation to collaborators Mar 10, 2026
@apache apache unlocked this conversation Mar 10, 2026
@mbien

mbien commented Mar 11, 2026

Copy link
Copy Markdown
Member

I don't have much experience in the TestNG area so I looked at the classpath changes. TestNGs classpath change looked a bit scary at first but it might be optional deps.

lang3 looks fine:

$ mvn eu.maveniverse.maven.plugins:toolbox:gav-classpath-diff -Dunified -Dgav1=org.apache.commons:commons-lang3:3.17.0 -Dgav2=org.apache.commons:commons-lang3:3.19.0
...
[INFO] --- toolbox:0.15.4:gav-classpath-diff (default-cli) @ standalone-pom ---
[INFO] *** org.apache.commons:commons-lang3:jar 3.17.0 -> 3.19.0

TestNG:

$ mvn eu.maveniverse.maven.plugins:toolbox:gav-classpath-diff -Dunified -Dgav1=org.testng:testng:6.14.3 -Dgav2=org.testng:testng:7.11.0
...
[INFO] --- toolbox:0.15.4:gav-classpath-diff (default-cli) @ standalone-pom ---
[INFO] *** org.testng:testng:jar 6.14.3 -> 7.11.0
[INFO] --- com.beust:jcommander:jar:1.72
[INFO] --- org.apache-extras.beanshell:bsh:jar:2.0b6
[INFO] +++ org.slf4j:slf4j-api:jar:2.0.16
[INFO] +++ org.jcommander:jcommander:jar:1.83
[INFO] +++ org.webjars:jquery:jar:3.7.1
[INFO] +++ com.google.inject:guice:jar:5.1.0
[INFO] +++ javax.inject:javax.inject:jar:1
[INFO] +++ aopalliance:aopalliance:jar:1.0
[INFO] +++ com.google.guava:guava:jar:30.1-jre
[INFO] +++ com.google.guava:failureaccess:jar:1.0.1
[INFO] +++ com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava
[INFO] +++ com.google.code.findbugs:jsr305:jar:3.0.2
[INFO] +++ org.checkerframework:checker-qual:jar:3.5.0
[INFO] +++ com.google.errorprone:error_prone_annotations:jar:2.3.4
[INFO] +++ com.google.j2objc:j2objc-annotations:jar:1.3
[INFO] +++ org.yaml:snakeyaml:jar:2.2

the whole guice branch (+snakeyyaml) seems to be optional:

$ mvn eu.maveniverse.maven.plugins:toolbox:gav-tree -Dgav=org.testng:testng:7.11.0
[INFO] --- toolbox:0.15.4:gav-tree (default-cli) @ standalone-pom ---
[INFO] org.testng:testng:jar:7.11.0 (origin: central)
[INFO] ├─org.slf4j:slf4j-api:jar:2.0.16 [compile] (origin: central)
[INFO] ├─org.jcommander:jcommander:jar:1.83 [compile] (origin: central)
[INFO] ├─org.webjars:jquery:jar:3.7.1 [runtime] (origin: central)
[INFO] ├─com.google.inject:guice:jar:5.1.0 [compile, optional] (origin: central)
[INFO] │ ├─javax.inject:javax.inject:jar:1 [compile, optional] (origin: central)
[INFO] │ ├─aopalliance:aopalliance:jar:1.0 [compile, optional] (origin: central)
[INFO] │ ╰─com.google.guava:guava:jar:30.1-jre [compile, optional] (origin: central)
[INFO] │   ├─com.google.guava:failureaccess:jar:1.0.1 [compile, optional] (origin: central)
[INFO] │   ├─com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava [compile, optional] (origin: central)
[INFO] │   ├─com.google.code.findbugs:jsr305:jar:3.0.2 [compile, optional] (origin: central)
[INFO] │   ├─org.checkerframework:checker-qual:jar:3.5.0 [compile, optional] (origin: central)
[INFO] │   ├─com.google.errorprone:error_prone_annotations:jar:2.3.4 [compile, optional] (origin: central)
[INFO] │   ╰─com.google.j2objc:j2objc-annotations:jar:1.3 [compile, optional] (origin: central)
[INFO] ╰─org.yaml:snakeyaml:jar:2.2 [runtime, optional] (origin: central)

@sid-srini

Copy link
Copy Markdown
Contributor Author

Thanks a lot @mbien for running all the CI tests, and, for going through the changes and dependencies.

You are right that the majority of the listed dependencies are optional ones. The libraries included: slf4j and jcommander, were the non-optional ones that are required. Also, the testng jar already contains the jquery js components for the HTML reports it generates.

Additionally, the testng-ant library is now included because it is now a separate library (also mentioned in the commit message of 8169a5c) and is used by NetBeans for running testng via ant.

@sid-srini

Copy link
Copy Markdown
Contributor Author

Hi @mbien. Please review this when you get a chance. Thank you.

@mbien mbien added this to the NB31 milestone Apr 28, 2026
sid-srini added 2 commits May 19, 2026 18:11
Updated 3.17.0 -> 3.19.0
Repackaged jar with manifest attribute Import-Package value modified in
order to avoid issues with older Netbinox even though OSGi v8 is used.
- Added testng-ant jar which has been separated now.
- Updated the lib spec version due to some breaking API changes of testng.
- Added dependency of slf4j-api-2.0.17 jar.
- Updated java/testng source to use the public APIs.
- Updated java/testng.ui source to use the public APIs.
- Updated nbbuild ant project template for testng to set verbose > 4, in
  order for TestNG to initialize the VerboseReporter.
    - This listener can no longer be used directly from the ant task
      attribute due to the removal of the default constructor.
- Fixed broken unit tests in java/testng.ui, java/testng.ant
    - Former fixed for JDK17+ runtime and java/j2seplatform for test.
    - Latter fixed with missing data file and TestNG output changes.
@sid-srini
sid-srini force-pushed the update-outdated-deps branch from 1958197 to 0b67e3a Compare May 19, 2026 12:55
@sid-srini

Copy link
Copy Markdown
Contributor Author

Hi @mbien. I've rebased the commit to the current master which includes the post NB30 updates. Please re-trigger the CI checks and review the PR. Thanks a lot.

Comment thread platform/libs.testng/nbproject/project.xml
Comment thread platform/o.apache.commons.lang3/build.xml
@matthiasblaesing

Copy link
Copy Markdown
Contributor

I think this can be merged, @mbien could I get a second opinion?

@mbien mbien left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wasn't able to fully catch up yet but this looks good to me. Yes feel free to merge.

@matthiasblaesing
matthiasblaesing merged commit 41b908e into apache:master Jun 4, 2026
38 checks passed
@matthiasblaesing

Copy link
Copy Markdown
Contributor

@sid-srini this change most probably broke ant project integration. Please have a look at #9561. The problem is reproducible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:all-tests [ci] enable all tests tests Upgrade Library Library (Dependency) Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants