Testing commons-lang2 removal from jenkins-core - #6234
Conversation
MarkEWaite
left a comment
There was a problem hiding this comment.
Can update to a more recent incremental of Jenkins core.
|
I tried using openrewrite but neither the commons-lang3-api recipe or openrewrite cli seemed to do anything for me. Gave up and just did: rg -0 -lF 'org.apache.commons.lang.' . |
while IFS= read -r -d '' file; do
sed -i '' 's/org.apache.commons.lang/org.apache.commons.lang3/' "$file"
doneAdded the dep: <dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>commons-lang3-api</artifactId>
</dependency>Banned commons-lang2: <ban-commons-lang-2.skip>false</ban-commons-lang-2.skip>Would be nice if there was a command that could be run to just do it. |
|
@jonesbusy any idea what I was missing above? I would have thought there should be a simple method of migrating commons-lang to either java APIs or to commons-lang3 |
Any error in particular? There is a recipe that change to commons-lang3 For native Java API it's tracked by jenkins-infra/plugin-modernizer-tool#1542 It's probably just reusing what is provided by OpenRewrite EDIT: Not sure if related by last with infra incident but some URL that we were using to get installation data return 404 I will publish a release that ignore installation stats for now |
Plugin repository: * https://github.com/jenkinsci/job-dsl-plugin Pull request to enable automated releases (CD): * jenkinsci/job-dsl-plugin#2563 The new release will help with the removal of Apache Commons Lang 2 from Jenkins core. That is currently being tested in: * jenkinsci/jenkins#16404 * jenkinsci/bom#6234 Also updates permissions that were missed in previous changes. Completes the removal of @jamietanna and @daspilker as Job DSL maintainers, since they removed themselves with earlier pull requests. @jamietanna removed himself as a Job DSL maintainer in pull request: * jenkins-infra#4404 @daspilker removed himself as a Job DSL maintainer in pull request: * jenkins-infra#4385
|
warnings-ng is failing because of https://github.com/jenkinsci/flexible-publish-plugin/blob/c66efc74337e0ad8af61def68433e4c093cd0f28/src/main/java/org/jenkins_ci/plugins/flexible_publish/builder/FailAtEndBuilder.java#L33 Which is not captured in the spreadsheet. |
|
No idea where that original spreadsheet came from =/ It was missing about 400 plugins. Added to the sheet now though |
|
I pointed my debug skill at this PR using the ci.jenkins.io MCP. Updated 08/08 Commons Lang 2 removal — PCT triage for #6234, build #11Build: Tools/bom/PR-6234 #11 → 12 Every one of the 115 has Every remaining failure now has either an open PR or a pending version bump — nothing is uncovered. Open PRs — live status
Merged, awaiting a release
Released — needs a version bump only
Cleared since build #10
Which PR clears which job
6 of the 12 are collateral damage — the plugin under test is clean, a dependency is not. swarm — 29 of the 38 are cascade, not separate failuresOnly 9 failures name thrown from a servlet request. htmlpublisher — highest leverage, blocks 3 jobs / 37 testsjenkinsci/htmlpublisher-plugin#371 merged 2025-10-03 and
build-failure-analyzer — a third-party library, outside the plugin ecosystem14 The remaining 2 ( That is Worth noting for reviewers: that PR removes the source usage but leaves Separately, gerrit-trigger's own migration was incomplete: jenkinsci/gerrit-trigger-plugin#519 (merged, released) migrated Needs only version movement — no new code
A full mcp-server — two culprits, split exactly 2 / 2
So jenkinsci/mcp-server-plugin#218 clears half this job; the other half is the longest remaining chain of the twelve. warnings-ng — now has a stack traceIn build #10 this failure ( The publisher fails silently and produces zero results rather than erroring. jenkinsci/flexible-publish-plugin#27 covers Releases needed before this run can go green
|
|
@copilot resolve the merge conflicts in this pull request |
|
14 failing now, previously 23. All should have PRs open or merged, some unreleased (e.g. jenkinsci/bitbucket-branch-source-plugin#1237) |
This is simply to validate / see what breaks with the removal of the library from Jenkins Core.
See jenkinsci/jenkins#26105.