Skip to content

Updating commons-lang3 and testng dependencies#9254

Open
sid-srini wants to merge 3 commits intoapache:masterfrom
sid-srini:update-outdated-deps
Open

Updating commons-lang3 and testng dependencies#9254
sid-srini wants to merge 3 commits intoapache:masterfrom
sid-srini:update-outdated-deps

Conversation

@sid-srini
Copy link
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

^Add meaningful description above

Click to collapse/expand PR instructions

By opening a pull request you confirm that, unless explicitly stated otherwise, the changes -

  • are all your own work, and you have the right to contribute them.
  • are contributed solely under the terms and conditions of the Apache License 2.0 (see section 5 of the license for more information).

Please make sure (eg. git log) that all commits have a valid name and email address for you in the Author field.

If you're a first time contributor, see the Contributing guidelines for more information.

If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run.

PR approval and merge checklist:

  1. Was this PR correctly labeled, did the right tests run? When did they run?
  2. Is this PR squashed?
  3. Are author name / email address correct? Are co-authors correctly listed? Do the commit messages need updates?
  4. Does the PR title and description still fit after the Nth iteration? Is the description sufficient to appear in the release notes?

If this PR targets the delivery branch: don't merge. (full wiki article)

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.
@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
Signed-off-by: Siddharth Srinivasan <siddharth.srinivasan@oracle.com>
@mbien
Copy link
Member

mbien commented Mar 11, 2026

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
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.

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.

2 participants