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

JAXB Plugin shows circular dependency on the plugin site

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • jaxb-plugin
    • JAXB 2.3.0.1

      There is no real circular dependency, but the plugin site was not ready to the detached plugins declaring dependency on older core versions. We did it for JAXB so that plugin developers could use the new plugin without bumping to resent weekly releases

       

       

          [JENKINS-56432] JAXB Plugin shows circular dependency on the plugin site

          Reinhold Füreder added a comment - - edited

          oleg_nenashev I just switched to Java 11 (using Jenkins in Docker; heavily inspired by your great https://github.com/oleg-nenashev/demo-jenkins-config-as-code) and stumbled over "JAXB" Jenkins plugin being shown as "installed v2.3.0" and "available update v2.3.0.1".

          Env:

          • Jenkins in Docker
          • OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
          • Jenkins core v2.270

           

          According tot https://plugins.jenkins.io/jaxb/#documentation:

          As an end user, you should generally never have to install this plugin yourself. It is designed to be automatically installed as a dependency for plugins needing to access the JAXB API that has been removed from the JDK in Java 9+.

           

          So it is not in plugins reference folder:

          jenkins@c12d744e505d:~$ ll $REF/plugins/jaxb*
          ls: cannot access '/usr/share/jenkins/ref/plugins/jaxb*': No such file or directory
          

          And is getting installed in v2.3.0 automagically:

          jenkins@c12d744e505d:~$ ll plugins/jaxb*
          -rw-r--r-- 1 jenkins jenkins 1199985 Dec 15 09:58 plugins/jaxb.jpi
          
          plugins/jaxb:
          total 40
          drwxr-xr-x   4 jenkins jenkins  4096 Dec 15 09:58 .
          drwxr-xr-x 126 jenkins jenkins 24576 Dec 15 09:58 ..
          drwxr-xr-x   3 jenkins jenkins  4096 Dec 15 09:58 META-INF
          -rw-r--r--   1 jenkins jenkins     0 Dec 15 09:58 .timestamp2
          drwxr-xr-x   3 jenkins jenkins  4096 Dec 15 09:58 WEB-INF
          

          ... during each startup:

          ...
          2020-12-15 09:58:42.479+0000 [id=31]    INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization
          2020-12-15 09:58:42.648+0000 [id=34]    INFO    hudson.PluginManager#considerDetachedPlugin: Loading a detached plugin as a dependency: /var/jenkins_home/plugins/jaxb.jpi
          ...
          

          And a manual update will therefore never become active:

          jenkins@b9f60d112835:~$ ll plugins/ja*.jpi
          -rw-r--r-- 1 jenkins jenkins 2231775 Dec 15 09:58 plugins/jackson2-api.jpi
          -rw-r--r-- 1 jenkins jenkins   35681 Dec 15 09:58 plugins/javadoc.jpi
          -rw-r--r-- 1 jenkins jenkins 1200089 Dec 15 10:36 plugins/jaxb.jpi
          

          ... as it is overridden with reference folder during every restart (because our $JENKINS_HOME/plugins folder is cleared completely on purpose)

           

          Do you therefore recommend to add this jaxb plugin to the "plugins.txt"?
          Or do you think adding the jenkins core – or however this jaxb plugin dependency is defined – should actually get a jaxb plugin v2.3.0.1 dependency instead of v2.3.0?

          Oh, I have just seen https://www.jenkins.io/doc/administration/requirements/upgrade-java-guidelines/#javax-xml-bind-libraries

          However, if you manage your plugins outside Jenkins (for example, if you use plugins.txt in your Docker images), you might need to explicitly install the plugin.

          => Is therefore adding this jaxb plugin to the "plugins.txt" with v2.3.0.1 the right thing?

          Reinhold Füreder added a comment - - edited oleg_nenashev I just switched to Java 11 (using Jenkins in Docker; heavily inspired by your great https://github.com/oleg-nenashev/demo-jenkins-config-as-code ) and stumbled over "JAXB" Jenkins plugin being shown as "installed v2.3.0" and "available update v2.3.0.1" . Env: Jenkins in Docker OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode) Jenkins core v2.270   According tot https://plugins.jenkins.io/jaxb/#documentation: As an end user, you should generally never have to install this plugin yourself. It is designed to be automatically installed as a dependency for plugins needing to access the JAXB API that has been removed from the JDK in Java 9+.   So it is not in plugins reference folder: jenkins@c12d744e505d:~$ ll $REF/plugins/jaxb* ls: cannot access '/usr/share/jenkins/ref/plugins/jaxb*': No such file or directory And is getting installed in v2.3.0 automagically: jenkins@c12d744e505d:~$ ll plugins/jaxb* -rw-r--r-- 1 jenkins jenkins 1199985 Dec 15 09:58 plugins/jaxb.jpi plugins/jaxb: total 40 drwxr-xr-x 4 jenkins jenkins 4096 Dec 15 09:58 . drwxr-xr-x 126 jenkins jenkins 24576 Dec 15 09:58 .. drwxr-xr-x 3 jenkins jenkins 4096 Dec 15 09:58 META-INF -rw-r--r-- 1 jenkins jenkins 0 Dec 15 09:58 .timestamp2 drwxr-xr-x 3 jenkins jenkins 4096 Dec 15 09:58 WEB-INF ... during each startup: ... 2020-12-15 09:58:42.479+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization 2020-12-15 09:58:42.648+0000 [id=34] INFO hudson.PluginManager#considerDetachedPlugin: Loading a detached plugin as a dependency: /var/jenkins_home/plugins/jaxb.jpi ... And a manual update will therefore never become active: jenkins@b9f60d112835:~$ ll plugins/ja*.jpi -rw-r--r-- 1 jenkins jenkins 2231775 Dec 15 09:58 plugins/jackson2-api.jpi -rw-r--r-- 1 jenkins jenkins 35681 Dec 15 09:58 plugins/javadoc.jpi -rw-r--r-- 1 jenkins jenkins 1200089 Dec 15 10:36 plugins/jaxb.jpi ... as it is overridden with reference folder during every restart (because our $JENKINS_HOME/plugins folder is cleared completely on purpose)   Do you therefore recommend to add this jaxb plugin to the "plugins.txt"? Or do you think adding the jenkins core – or however this jaxb plugin dependency is defined – should actually get a jaxb plugin v2.3.0.1 dependency instead of v2.3.0? Oh, I have just seen https://www.jenkins.io/doc/administration/requirements/upgrade-java-guidelines/#javax-xml-bind-libraries However, if you manage your plugins outside Jenkins (for example, if you use plugins.txt in your Docker images), you might need to explicitly install the plugin. => Is therefore adding this jaxb plugin to the "plugins.txt" with v2.3.0.1 the right thing?

            oleg_nenashev Oleg Nenashev
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: