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

JAXB Plugin shows circular dependency on the plugin site

    XMLWordPrintable

Details

    • JAXB 2.3.0.1

    Description

      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

       

       

      Attachments

        Issue Links

          Activity

            reinholdfuereder 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?

            reinholdfuereder 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?

            People

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

              Dates

                Created:
                Updated:
                Resolved: