Skip to content

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

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

timja wants to merge 1 commit into
jenkinsci:mainfrom
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.strip(path, "/") → replaceAll("^/+|/+$", ""), which strips the same leading and
    trailing separators.
  • !StringUtils.isEmpty(x) → Util.fixEmpty(x) != null, using the hudson.Util helper.
  • In tests, RandomStringUtils.random(n, true, true) → an explicit alphanumeric pick from the
    existing Random, producing the same character set.

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

Testing done

mvn -B -ntp clean verify passes locally on Java 21 / 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.87 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