[JIRA] (JENKINS-36779) Upgrade Guava or properly isolate core Guava dependency from plugins
Title: Message Title Jesse Glick commented on JENKINS-36779 Re: Upgrade Guava or properly isolate core Guava dependency from plugins See artifact-manager-s3 #83 for an example (again based on the jclouds library, but not using jclouds-plugin) of a case where the bundled Guava made it impossible to do an otherwise straightforward refactoring. Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-issues/JIRA.172818.1468885385000.7628.1562784900349%40Atlassian.JIRA. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-36779) Upgrade Guava or properly isolate core Guava dependency from plugins
Title: Message Title Daniel Beck commented on JENKINS-36779 Re: Upgrade Guava or properly isolate core Guava dependency from plugins Probably best to tackle JENKINS-30685. Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-36779) Upgrade Guava or properly isolate core Guava dependency from plugins
Title: Message Title Andrew Bayer created an issue Jenkins / JENKINS-36779 Upgrade Guava or properly isolate core Guava dependency from plugins Issue Type: Bug Assignee: Unassigned Components: core Created: 2016/Jul/18 11:43 PM Priority: Minor Reporter: Andrew Bayer For a while, we could use a newer version of Guava in a plugin than in core - see, for example, jclouds plugin version 2.5, which uses Mask-Classes on the manifestEntries for maven-hpi-plugin to mask com.google.common. That worked fine with core's Guava 11.0 and jclouds' Guava 14.0.1. But moving to a newer jclouds version, with a dependency on Guava 15.0, made things go horribly wrong. I don't remember off the top of my head exactly what went wrong, but I'll reproduce that and add the relevant logs as attachments here. What finally fixed things there was moving to a shaded Guava jar and depending on that - see the state of the code as of here. Given that context...I know people are still hitting problems due to Guava incompatibilities - anything with a newer Guava version could fail horribly due to API methods that have since been removed being called by Jenkins itself and borking due to the newer Guava being in the classpath. So something needs to be done here - either better isolation of Guava (either as part of a general improvement to classloader isolation or possibly a more Guava-specific solution) or upgrading Guava...though upgrading Guava means breaking plugins that use/depend on Guava. So...not simple. But some solution is needed eventually.