-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gradle plugin uses a proprietary dependency #4263
Comments
Hi @daniel-beck . Thank you for raising the issue. I forwarded it to the stakeholders internally. Please give us a few days to discuss the matter and follow up with the response |
We're looking into the options how to go forward. Given the complexity of the problem, including various distributions and use-cases on our customer-side, it would be nice if we had a few weeks to discuss the solution and to plan the new implementation without a rush. Would the Jenkins Security Team be ok with that @daniel-beck ? @daniel-beck @Wadeck If you could please also do a private follow-up on CloudBees Assurance Program and SLAs for our joint customers, it would be great. Happy to do by email ( |
Seems reasonable to me, I wouldn't want to break things for everyone here -- this is a very popular plugin after all.
JST is basically uninvolved. I opened this issue as a contributor.
I'll poke someone at CloudBees about this. |
Hey @daniel-beck! Will the older versions still be available for download from https://plugins.jenkins.io/gradle? If possible, we'd like to keep them as in later versions, we’ve bumped the Jenkins requirement, so not all users can update to |
This looks like a reasonable approach. Thanks for the good turnaround here.
Unfortunately we'll need to remove them. Is it feasible to create a 2.12.0.1 release from 2.12, with this change backported? That should take care of the vast majority of your users with its 2.303.3 core dependency (instead of 2.401.3), insofar as they're being offered a compatible release. Anyone on CasC or similar expecting specific versions to exist will encounter an issue. |
Ok, understood. We will then backport this feature to the We were also wondering if it's allowed to attach the .hpi files to the plugin's GitHub releases page? The question is: if the .hpi files are removed from the Plugins Index, is it allowed for us to attach them to the GitHub releases we do? (in case users want to have that specific version and are willing to install it manually). If not, do we also need to clear the releases page of those older releases? |
Is installing a plugin depending on old Jenkins even possible? |
Yes, though you've chosen a very old base version for your test and the Jenkins update center no longer provides plugin compatibility data for that very old base version. I have a historical list of plugins that I was able to use with Jenkins 2.303.3. I used that list with the following script to download and run Jenkins 2.303.3:
Yes, that is expected because the Jenkins update center only provides data for (roughly) the last 12 months of Jenkins releases.
The script above uses the plugin installation manager tool to download all the transitive dependencies. I've included the gradle plugin in an updated plugin list and confirmed that Jenkins 2.303.3 starts with that configuration. |
Thanks for the very detailed answer! I'll adapt the script for my case so we can release a tested |
Jenkins project update center infrastructure only supports the last 13 months of Jenkins releases with tailored plugin releases. Right now, this is 2.420 or newer. Anything older gets offered the oldest available release, in this case a version depending on 2.401.x. It'll be added for manual download to lists like https://updates.jenkins.io/download/plugins/gradle/ or https://plugins.jenkins.io/gradle/releases/ but that's cumbersome due to those plugin dependencies. It's only really easy in instances that have the latest currently available release already. (Obligatory note as a security team member: Nobody should run Jenkins older than 2.452.3. Older than 2.426.3 is insanity.) |
As far as I can tell, this issue is ready to be closed because there is no further work for the Jenkins infra team. @daniel-beck do you agree that this infra help desk issue can be closed or would you prefer to keep it open until the changes are implemented in update center? |
We've just released 2.12.0.1 which contains the same change for older Jenkins versions. We assume the update center will still consider 2.13.1 the latest version, right? 😅 We consider it closed on our side, thanks for the help. |
Old versions still need removing from artifactory right? #4263 (comment) |
The latter.
Yes, that's basically how I would implement the update center changes. No Maven artifacts means no need to separately suspend distribution of individual releases. (I think at this point most of the task list in the original comment is obsolete as the plugin was adapted to comply, and all we need to do is make non-compliant releases unavailable.) |
I archived all past releases of Fix versions are 2.12.0.1 and 2.13 and newer, earlier 2.x releases will be deleted. Right now I'm trying to figure out whether Artifactory's "Delete Versions" popup is broken for everyone or just me; the checkboxes behave like radiobuttons. |
Service(s)
Artifactory, GitHub, plugins.jenkins.io, Update center
Summary
https://plugins.jenkins.io/gradle/ bundles https://search.maven.org/artifact/com.gradle/develocity-maven-extension per https://github.com/jenkinsci/gradle-plugin/blob/bb0dee0f5e6d66e3c3f43d3870f09ca948dc493c/build.gradle.kts#L124 whose proprietary license is not compliant with the Jenkins project's license requirements:
https://www.jenkins.io/project/governance/#license:
https://www.jenkins.io/doc/developer/publishing/preparation/#license:
While the metadata from the POM is ambiguous (linking to general TOS), the jar includes a file that states
From my reading (not a lawyer etc.) we may even be in violation of these license terms due to section 7, even if we're a "Customer" for the purposes of this license:
Next steps:
First, we need to poke maintainers to give them an opportunity to fix their plugin / license terms, or tell me I'm wrong.
If that doesn't work, give Gradle plugin maintainers an opportunity to migrate to their own Jenkins plugin distribution mechanism if they want, and then stop distributing on our side:
nexus-jenkins-plugin
previously, TBD)releases
to a private repoPrevious, similar issues: #3989, #3742
Reproduction steps
No response
The text was updated successfully, but these errors were encountered: