Stop publishing fat plugin aws-java-sdk

62 views
Skip to first unread message

Vincent Latombe

unread,
Mar 21, 2024, 9:20:56 AM3/21/24
to Jenkins Dev
https://github.com/jenkinsci/aws-java-sdk-plugin/ is a multi-module project publishing parts of the AWS Java SDK as separate plugins.

Historically, this was a single fat plugin with all jars from the AWS Java SDK. Over the years, it grew a lot, and I split the project in finer-grain modules to avoid everyone from requiring the fat plugin.

Eventually all plugins in the Jenkins ecosystem can either:
1. Depend on the fat plugin
2. Depend on one or many of the fine-grained library plugins (recommended)
3. Depend directly on AWS Java SDK jars, bundling them in their plugin.

Ideally there should not be any more plugin using 1., at the time I split the fat plugin, I also filed corresponding pull requests to update plugins to use 2. instead.
3. is not recommended because it adds weight in general to update centers, JENKINS_HOME, as well as making things more complicated to handle in case a security fix is required in the AWS Java SDK. Instead, it is recommended to add the corresponding modules as fine-grained plugins to the existing project, using the documented procedure.

Therefore, I propose to remove the fat aws-java-sdk plugin. This will reduce the required storage for each new release, as well as prompt any remaining plugin that may depend on the fat plugin to do the right thing, and implement option 2.

Any concern with this proposal? Please let me know.

Cheers,

Vincent

Jesse Glick

unread,
Mar 21, 2024, 10:57:53 AM3/21/24
to jenkin...@googlegroups.com
On Thu, Mar 21, 2024 at 9:20 AM Vincent Latombe <vincent...@gmail.com> wrote:
prompt any remaining plugin that may depend on the fat plugin to do the right thing, and implement option 2.

Did you already file PRs for _all_ `@jenkinsci` plugins using the fat dep? Otherwise it might not be apparent that an update is required, unless they were consuming the fat dep via `bom` and see that proposed `bom` updates fail (“no version specified for…”).

At some point we would need to “tombstone” the fat plugin, deleting all the bundled JARs and marking it deprecated so that admins with it currently installed would see that it could be uninstalled, or at least if they blindly update, will not have all the JARs on disk.

Basil Crow

unread,
Mar 21, 2024, 12:50:16 PM3/21/24
to jenkin...@googlegroups.com
The latest release of Pipeline: AWS Steps (which we use on
ci.jenkins.io) still uses the fat JAR, although Zbynek updated it to
use the new modules in a PR that has been merged but not yet released.

Vincent Latombe

unread,
Mar 21, 2024, 1:33:17 PM3/21/24
to jenkin...@googlegroups.com
Thank you both for your inputs,

I made a list of repos to be updated, I didn't remember there were so many last time I checked 😅. I'll get them updated.

Vincent



--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAFwNDjqP7hz9fyyh1CHFJUdZSysswk%3DQfKi7OTh_Cibg-vY%2BCQ%40mail.gmail.com.

zbyne...@gmail.com

unread,
Mar 22, 2024, 4:48:15 PM3/22/24
to Jenkins Developers
> I didn't remember there were so many

Most of the dependent plugins listed in https://plugins.jenkins.io/aws-java-sdk/dependencies/ are unreleased for 4+ years though.

Thorsten Höger

unread,
Mar 25, 2024, 6:43:13 PM3/25/24
to Jenkins Developers
Hi,

I will create a release of the AWS Steps plugin asap.

I hope my release process still works...

Best Regards
Thorsten 

Reply all
Reply to author
Forward
0 new messages