Skip to content

Migrate from Commons Lang to native Java Platform functionality - #32

Open
timja wants to merge 1 commit into
jenkinsci:masterfrom
timja:commons-lang3
Open

Migrate from Commons Lang to native Java Platform functionality#32
timja wants to merge 1 commit into
jenkinsci:masterfrom
timja:commons-lang3

Conversation

@timja

@timja timja commented Aug 6, 2026

Copy link
Copy Markdown
Member

No need to use a third-party library when this functionality is available in the Java Platform.

Part of the effort to remove Commons Lang 2 from Jenkins core — jenkinsci/jenkins#16404,
jenkinsci/jenkins#26105. Commons Lang 2 is EOL and carries an unfixed advisory
(GHSA-j288-q9x7-2f5v).

What's changed

  • StringUtils.isEmpty / isNotEmptyUtil.fixEmpty(x) == null / != null.
  • StringUtils.join(messages, "\n\n")String.join("\n\n", messages) in both log parsers.
    LogNodeUtils.getMessages only inserts a message after checking message != null && !message.isEmpty(),
    so the list never holds nulls and String.join cannot NPE here.

No new dependency is added. commons-lang3-api is not an option here: it requires core 2.479.3 and
this plugin's baseline is 2.361.4.

Note on testing: this plugin does not build on JDK 21 — master fails the same way, with
IllegalArgumentException: Unsupported class file major version 65 out of the Groovy that parent
POM 4.65 pulls in. I verified on JDK 17 instead. That is pre-existing and untouched by this PR.

Testing done

mvn -B -ntp clean verify passes locally on Java 17 / macOS.
The ban-commons-lang-2 enforcer rule was left disabled because it needs parent POM
6.2116.v7501b_67dc517 or newer; bumping the parent from 4.65 pulls in the Jakarta EE 9
migration, which is out of scope for this change.

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

🤖 This pull request was generated with AI assistance (Claude Code) as part of a bulk migration
across Jenkins plugins. If anything here looks wrong, please comment on this PR or contact
@parameter.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant