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

Prepare AWS Elastic Beanstalk Publisher for core Guava upgrade

      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.base.Stopwatch API, which has changed between Guava 11.0.1 and latest. The following methods exist in Guava 11.0.1 but not latest:

      • Stopwatch#elapsedMillis()
      • Stopwatch#elapsedTime(TimeUnit desiredUnit)
      • Stopwatch#toString(int significantDigits)

      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. Please consider migrating away from the Stopwatch API and using System#nanoTime directly.

          [JENKINS-66298] Prepare AWS Elastic Beanstalk Publisher for core Guava upgrade

          Basil Crow added a comment -

          davidtanner would you be able to take a look at the PR I opened?

          Basil Crow added a comment - davidtanner would you be able to take a look at the PR I opened ?

          Matt Roberts added a comment - - edited

          Any progress on this? I'm currently seeing the following error when running Jenkins v2.320+ and AWS Elastic Beanstalk Publisher v1.8.1

          https://github.com/jenkinsci/aws-beanstalk-publisher-plugin/issues/59

          ERROR: Step ‘Deploy into AWS Elastic Beanstalk’ aborted due to exception: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.()V from class org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBS3Uploader at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBS3Uploader.uploadArchive(AWSEBS3Uploader.java:129) at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBEnvironmentUpdater.perform(AWSEBEnvironmentUpdater.java:66) at org.jenkinsci.plugins.awsbeanstalkpublisher.extensions.AWSEBElasticBeanstalkSetup.perform(AWSEBElasticBeanstalkSetup.java:181) at org.jenkinsci.plugins.awsbeanstalkpublisher.extensions.AWSEBSetup.perform(AWSEBSetup.java:22) at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBPublisher.perform(AWSEBPublisher.java:73)

          Matt Roberts added a comment - - edited Any progress on this? I'm currently seeing the following error when running Jenkins v2.320+ and AWS Elastic Beanstalk Publisher v1.8.1 https://github.com/jenkinsci/aws-beanstalk-publisher-plugin/issues/59 ERROR: Step ‘Deploy into AWS Elastic Beanstalk’ aborted due to exception: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.()V from class org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBS3Uploader at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBS3Uploader.uploadArchive(AWSEBS3Uploader.java:129) at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBEnvironmentUpdater.perform(AWSEBEnvironmentUpdater.java:66) at org.jenkinsci.plugins.awsbeanstalkpublisher.extensions.AWSEBElasticBeanstalkSetup.perform(AWSEBElasticBeanstalkSetup.java:181) at org.jenkinsci.plugins.awsbeanstalkpublisher.extensions.AWSEBSetup.perform(AWSEBSetup.java:22) at org.jenkinsci.plugins.awsbeanstalkpublisher.AWSEBPublisher.perform(AWSEBPublisher.java:73)

          Basil Crow added a comment -

          Hi xx1501xx, there is a PR open at jenkinsci/aws-beanstalk-publisher-plugin#58, but I have gotten no response from the maintainer. As far as I can tell, there is no active development being done on this plugin. I do not have access to AWS Elastic Beanstalk, so I have no way of knowing if the changes work when installed by a user. If you would like to try the changes, you could build the code from the PR yourself and install it on your Jenkins controller. If the changes work, you can consider adopting the plugin to merge and release the PR. The "Contributing to Open Source" workshop from DevOps World 2021 is a useful starting point for new maintainers. That document includes links to a five part video series that illustrates many of the steps. If the plugin is crucial to your work, you may want to ask your employer to support your work efforts by allowing you to adopt the plugin.

          Basil Crow added a comment - Hi xx1501xx , there is a PR open at jenkinsci/aws-beanstalk-publisher-plugin#58 , but I have gotten no response from the maintainer. As far as I can tell, there is no active development being done on this plugin. I do not have access to AWS Elastic Beanstalk, so I have no way of knowing if the changes work when installed by a user. If you would like to try the changes, you could build the code from the PR yourself and install it on your Jenkins controller. If the changes work, you can consider adopting the plugin to merge and release the PR. The " Contributing to Open Source " workshop from DevOps World 2021 is a useful starting point for new maintainers. That document includes links to a five part video series that illustrates many of the steps. If the plugin is crucial to your work, you may want to ask your employer to support your work efforts by allowing you to adopt the plugin.

          Matt Roberts added a comment -

          Thanks basil! I don't have the bandwidth right now to adopt the plugin, but I did the following to use your changes and my AWS job completed successfully!

          • Pulled latest plugin src:  git clone https://github.com/jenkinsci/aws-beanstalk-publisher-plugin.git
          • updated AWSEBS3Uploader.java with your changes from (JENKINS-66298 Prepare AWS Elastic Beanstalk Publisher for core Guava)
          • built plugin
          • updated jenkins to v2.323 (the plugin broke in v2.320)
          • installed custom build in jenkins
            • Manage Jenkins > Manage Plugins > Advanced
            • Deployed plugin by uploading aws-beanstalk-publisher-plugin.hpi
          • re-ran AWS job successfully

          Matt Roberts added a comment - Thanks basil ! I don't have the bandwidth right now to adopt the plugin, but I did the following to use your changes and my AWS job completed successfully! Pulled latest plugin src:  git clone https://github.com/jenkinsci/aws-beanstalk-publisher-plugin.git updated AWSEBS3Uploader.java with your changes from ( JENKINS-66298 Prepare AWS Elastic Beanstalk Publisher for core Guava) built plugin updated jenkins to v2.323 (the plugin broke in v2.320) installed custom build in jenkins Manage Jenkins > Manage Plugins > Advanced Deployed plugin by uploading aws-beanstalk-publisher-plugin.hpi re-ran AWS job successfully

          Basil Crow added a comment -

          Basil Crow added a comment - Fixed in jenkinsci/aws-beanstalk-publisher-plugin#58 . Released in 1.8.2 .

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

              Created:
              Updated:
              Resolved: