Skip to content

Remove usages of Commons Lang 2 - #2

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

Remove usages of Commons Lang 2#2
timja wants to merge 1 commit into
jenkinsci:masterfrom
timja:commons-lang3

Conversation

@timja

@timja timja commented Aug 3, 2026

Copy link
Copy Markdown
Member

No need to depend on a third-party library here when the Java Platform provides this
functionality natively.

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

Rewritten in plain Java — this plugin has no BOM and an org.jvnet.hudson.plugins:plugin:1.395
parent, so neither commons-lang3-api nor a direct commons-lang3 dependency is usable.

  • MutableInt (a mutable counter in maps) becomes java.util.concurrent.atomic.AtomicInteger.
  • ToStringBuilder.reflectionToString(this, DEFAULT_STYLE) becomes explicit toString()
    implementations listing the same fields. The output format changes slightly (it is only used for
    logging), but no longer depends on reflection.
  • StringUtils.isEmpty / isNotEmpty become plain null plus length() checks.

Testing done

mvn -B -ntp clean verify fails locally in maven-hpi-plugin:1.57:apt-compile, which cannot run
on a modern JDK — reproducible on an unmodified checkout.

The ban-commons-lang-2 enforcer rule was left disabled: the parent POM predates the rule entirely.

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.

@timja
timja requested a review from a team August 4, 2026 21:01
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