Skip to content

Migrate Commons Lang from 2 to 3 and StringEscapeUtils to Commons Text - #399

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

Migrate Commons Lang from 2 to 3 and StringEscapeUtils to Commons Text#399
timja-bot wants to merge 1 commit into
KostyaSha:masterfrom
timja-bot:commons-lang3

Conversation

@timja-bot

@timja-bot timja-bot commented Aug 3, 2026

Copy link
Copy Markdown

Migrate from deprecated/EOL Commons Lang 2 to Commons Lang 3, and StringEscapeUtils to Commons
Text. This repository was previously using an inconsistent mix of versions — much of the code
already imports org.apache.commons.lang3.

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

  • Renamed the remaining org.apache.commons.lang.* imports to org.apache.commons.lang3.* and
    declared io.jenkins.plugins:commons-lang3-api explicitly instead of relying on a transitive copy.
  • StringEscapeUtils.escapeJava moves to org.apache.commons.text.StringEscapeUtils via
    commons-text-api — Lang 3's copy is itself deprecated, so this goes straight to Commons Text.
  • abbreviate / isEmpty / isNotBlank / trimToEmpty behave identically in Lang 3.

Testing done

mvn -B -ntp clean verify passes locally on Java 21 / macOS.

The ban-commons-lang-2 enforcer rule was left disabled: it needs parent POM
6.2116.v7501b_67dc517 or newer, and parent 6.x requires Jenkins 2.475+ (Jakarta EE 9) while this
plugin targets 2.414.3 — the POM does not resolve with the newer parent. Worth enabling after a
Jakarta migration.

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


This change is Reviewable

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.

2 participants