Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-66311

Prepare Exclusion for core Guava upgrade

XMLWordPrintable

    • 0.13

      See JENKINS-65988. Jenkins core is using Guava 11.0.1, which was released on January 9, 2012. Jenkins core would like to upgrade to Guava 30.1.1, which was released on March 19, 2021. Plugins must be prepared to be compatible with both Guava 11.0.1 and Guava 30.1.1 in advance of this core transition.

      In particular, this plugin has been identified as using the com.google.common.collect.MapMaker API, which has changed between Guava 11.0.1 and latest. In particular, the following methods have been removed:

      • MapMaker#expiration(long duration, TimeUnit unit)
      • MapMaker#makeComputingMap(Function<? super K,? extends V> computingFunction)
      • MapMaker#softKeys()
      • MapMaker#softValues()

      To facilitate the Jenkins core transition, this plugin must be prepared and released such that it works with both Guava 11.0.1 and latest. Even if you aren't using one of these removed methods, consider migrating away from MapMaker anyway to simplify maintenance. Consider using Collections#synchronizedMap with WeakHashMap, or ClassValue. Our general recommendation for plugins with sophisticated caching needs is to adopt Caffeine via the Jenkins Caffeine API plugin.

            basil Basil Crow
            basil Basil Crow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: