Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/jenkins
  Commit: dd59e8c11c25a3398af159d24aa58914a4cf340b
      
https://github.com/jenkinsci/jenkins/commit/dd59e8c11c25a3398af159d24aa58914a4cf340b
  Author: Vincent Latombe <vinc...@latombe.net>
  Date:   2020-01-03 (Fri, 03 Jan 2020)

  Changed paths:
    M core/src/main/java/hudson/ExtensionFinder.java
    M core/src/main/java/hudson/PluginManager.java
    M test/src/test/java/hudson/PluginManagerTest.java
    A test/src/test/resources/plugins/optional-depender-0.0.2.hpi
    M test/src/test/resources/plugins/variant.hpi

  Log Message:
  -----------
  [JENKINS-60449] Attempt to fix an odd case of OptionalExtension blowing up 
Jenkins (#4393)

* Add new module optional-depender and a new failing test

* Variant plugin is a dependency of optional-depender

Optional-depender contains the following class

@OptionalExtension(requirePlugins = {"dependee"})
public class OptionalDependerExtension {
      private static void foo(Dependee d) {

      }
}

* [JENKINS-60449] Move plugin initialization at the end, keep only one 
extension refresh

* Improve logic to detect classloading issues

Inspect all declared constructors/methods/fields recursively to exclude
failing classes from Guice rather than have Guice explode.

This also fix the failing test, but the previous commit is still better
because it avoids an extra Jenkins.get().refreshExtensions() call.

* Only test resolveClass method if the classloader is not the bootstrap one


-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/jenkins/push/refs/heads/master/5d7870-dd59e8%40github.com.

Reply via email to