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

Prepare JClouds for core Guava upgrade

    XMLWordPrintable

    Details

    • Similar Issues:
    • Released As:
      2.24

      Description

      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.

      {{Objects#firstNonNull}

      In particular, this plugin has been identified as using the com.google.common.base.Objects#firstNonNull method, which existed in Guava 11.0.1 but was removed in later versions.

      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. The general recommendation is to migrate away from Objects#firstNonNull and rewrite the code to use the native functionality provided by the Java Platform.

      For an example of how to do this, see:

      Futures#addCallback(addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback)

      In particular, this plugin has been identified as using the Futures#addCallback(addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback) method, which existed in Guava 11.0.1 but was removed in later versions.

      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. The general recommendation is to rewrite this code to rewrite this code to use Futures#addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback, Executor executor), which is present in both Guava versions.

        Attachments

          Activity

          basil Basil Crow created issue -
          basil Basil Crow made changes -
          Field Original Value New Value
          Description See JENKINS-65988. Jenkins core is using [Guava 11.0.1|https://github.com/google/guava/releases/tag/v11.0.1], which was released on January 9, 2012. Jenkins core would like to upgrade to [Guava 30.1.1|https://github.com/google/guava/releases/tag/v30.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.base.Objects#firstNonNull}} method, which existed in Guava [11.0.1|https://guava.dev/releases/11.0.1/api/docs/com/google/common/base/Objects.html] but was [removed in later versions|https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/base/Objects.html].

          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. The general recommendation is to migrate away from {{Objects#firstNonNull}} and rewrite the code to use the native functionality provided by the Java Platform.

          For an example of how to do this, see:

          * [jenkinsci/gearman-plugin#14|https://github.com/jenkinsci/gearman-plugin/pull/14]
          See JENKINS-65988. Jenkins core is using [Guava 11.0.1|https://github.com/google/guava/releases/tag/v11.0.1], which was released on January 9, 2012. Jenkins core would like to upgrade to [Guava 30.1.1|https://github.com/google/guava/releases/tag/v30.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.

          h3. {{Objects#firstNonNull}

          In particular, this plugin has been identified as using the {{com.google.common.base.Objects#firstNonNull}} method, which existed in Guava [11.0.1|https://guava.dev/releases/11.0.1/api/docs/com/google/common/base/Objects.html] but was [removed in later versions|https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/base/Objects.html].

          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. The general recommendation is to migrate away from {{Objects#firstNonNull}} and rewrite the code to use the native functionality provided by the Java Platform.

          For an example of how to do this, see:

          * [jenkinsci/gearman-plugin#14|https://github.com/jenkinsci/gearman-plugin/pull/14]

          h3. {{Futures#addCallback(addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback)}}

          In particular, this plugin has been identified as using the {{Futures#addCallback(addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback)}} method, which existed in Guava [11.0.1|https://guava.dev/releases/11.0.1/api/docs/com/google/common/util/concurrent/Futures.html] but was [removed in later versions|https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/util/concurrent/Futures.html].

          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. The general recommendation is to rewrite this code to rewrite this code to use {{Futures#addCallback(ListenableFuture<V> future, FutureCallback<? super V> callback, Executor executor)}}, which is present in both Guava versions.
          felfert Fritz Elfert made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Fixed but Unreleased [ 10203 ]
          basil Basil Crow made changes -
          Released As 2.24
          Status Fixed but Unreleased [ 10203 ] Resolved [ 5 ]
          basil Basil Crow made changes -
          Labels JEP-233

            People

            Assignee:
            felfert Fritz Elfert
            Reporter:
            basil Basil Crow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: