• Jenkins 2.163

      Acceptance criteria:

      • JAXB Plugin is released to the Common Update Center
      • There are few plugins using this plugin as a dependency
      •  JAXB Plugin as a detached plugin on Java 11 + (Core patch), and it's bundled into WAR
        • We need to explore whether it is feasible. It may be helpful to keep plugins compatible without patches on the plugin side

      What do we need to test?

      • Jetty && SLOCCount Plugin
      • Tomcat  && SLOCCount Plugin 

          [JENKINS-55681] Release the JAXB Plugin

          I plan to release an alpha version as soon as https://github.com/jenkins-infra/repository-permissions-updater/pull/999 is merged to be able to do more tests easily.
          Then I think I'll sync with the Java 11 support team before actually releasing into the main Update Center.

          Baptiste Mathus added a comment - I plan to release an alpha version as soon as https://github.com/jenkins-infra/repository-permissions-updater/pull/999 is merged to be able to do more tests easily. Then I think I'll sync with the Java 11 support team before actually releasing into the main Update Center.

          2.2.11-alpha-1 experimental release is out.

          Baptiste Mathus added a comment - 2.2.11-alpha-1 experimental release is out.

          2.2.11 released to make testing more easy. https://github.com/jenkinsci/jenkins/pull/3865 in review to add JAXB api plugin as detached only on Java 11 runtime.

          Baptiste Mathus added a comment - 2.2.11 released to make testing more easy. https://github.com/jenkinsci/jenkins/pull/3865 in review to add JAXB api plugin as detached only on Java 11 runtime.

          So, quick update: 

          JAXB Plugin is released to the Common Update Center
          minimumJavaVersion is set to 8 unless it blows up

          Released as 2.2.11 with minimumJavaVersion set on Java 8.

          There are few plugins using this plugin as a dependency

          Only SlocCount has been tested successfully in https://github.com/jenkinsci/sloccount-plugin/pull/53. I need to redo tests for completeness with https://github.com/jenkinsci/jenkins/pull/3865 (see below), but basically this is just automating the plugin detachment, which I tested manually, so I don't anticipate any new issue.

          I don't know of another plugin that would be easy enough to try.
          I'm actually considering creating a simple plugin that would exercise the various cases around Java 11 known issues (JAXB as here, but also JAF, java.sql, etc.)

          JAXB Plugin as a detached plugin on Java 11 + (Core patch), and it's bundled into WAR
          We need to explore whether it is feasible. It may be helpful to keep plugins compatible without patches on the plugin side

          https://github.com/jenkinsci/jenkins/pull/3865 is in review to add the support in Jenkins for detaching plugins for a min Java runtime version (Java 11 in this case)

          • In this PR, I had to add various exclusions to break dependency cycles and avoid a StackOverflowError. This is really growing ugly, and Jesse hinted about implementing JENKINS-28942 already.
          • JENKINS-28942 does indeed look to me like the right long term correction: this is the only way we can avoid adding JAXB to the long and growing list of detached plugins, and hence hope cleaning up this from the Core in the future. Without this, basically we will not be really able to know what plugin use of doesn't use JAXB.

          Jetty && SLOCCount Plugin
          Tomcat  && SLOCCount Plugin 

           

          Baptiste Mathus added a comment - So, quick update:  JAXB Plugin is released to the Common Update Center minimumJavaVersion is set to 8 unless it blows up Released as 2.2.11 with minimumJavaVersion set on Java 8. There are few plugins using this plugin as a dependency Only SlocCount has been tested successfully in https://github.com/jenkinsci/sloccount-plugin/pull/53 . I need to redo tests for completeness with https://github.com/jenkinsci/jenkins/pull/3865 (see below), but basically this is just automating the plugin detachment, which I tested manually, so I don't anticipate any new issue. I don't know of another plugin that would be easy enough to try. I'm actually considering creating a simple plugin that would exercise the various cases around Java 11 known issues (JAXB as here, but also JAF, java.sql, etc.) JAXB Plugin as a detached plugin on Java 11 + (Core patch), and it's bundled into WAR We need to explore whether it is feasible. It may be helpful to keep plugins compatible without patches on the plugin side https://github.com/jenkinsci/jenkins/pull/3865 is in review to add the support in Jenkins for detaching plugins for a min Java runtime version (Java 11 in this case) In this PR, I had to add various exclusions to break dependency cycles and avoid a StackOverflowError . This is really growing ugly, and Jesse hinted about implementing JENKINS-28942 already. JENKINS-28942 does indeed look to me like the right long term correction: this is the only way we can avoid adding JAXB to the long and growing list of detached plugins, and hence hope cleaning up this from the Core in the future. Without this, basically we will not be really able to know what plugin use of doesn't use JAXB. Jetty && SLOCCount Plugin Tomcat  && SLOCCount Plugin    Jetty & SLOCCount done in https://github.com/jenkinsci/sloccount-plugin/pull/53 , and more specifically demoed in the linked Docker image: https://github.com/batmat/jaxb-java11-demo Tomcat: not done yet.  

          Raphael Pionke added a comment - - edited

          Hi batmat,

          we are using JAXB quite heavily for ur plugin: https://plugins.jenkins.io/performance-signature-dynatrace

          I want to use ur plugin as a dependency for Java 11 compatibility, but the build job of the plugin on ci.jenkins.io fails: https://ci.jenkins.io/job/Plugins/job/performance-signature-dynatrace-plugin/job/master/54/console

          Do u know why?

          Basically i want to fix https://issues.jenkins-ci.org/browse/JENKINS-55202

          Raphael Pionke added a comment - - edited Hi batmat , we are using JAXB quite heavily for ur plugin: https://plugins.jenkins.io/performance-signature-dynatrace I want to use ur plugin as a dependency for Java 11 compatibility, but the build job of the plugin on ci.jenkins.io fails: https://ci.jenkins.io/job/Plugins/job/performance-signature-dynatrace-plugin/job/master/54/console Do u know why? Basically i want to fix  https://issues.jenkins-ci.org/browse/JENKINS-55202

          Baptiste Mathus added a comment - rpionke this should be fixed https://github.com/jenkinsci/performance-signature-dynatrace-plugin/pull/7

          I tested the new release of the JAXB Plugin and it works with and without a container. I will release the plugin in the next few days.

          Thanks a lot for your effort!

          Raphael Pionke added a comment - I tested the new release of the JAXB Plugin and it works with and without a container. I will release the plugin in the next few days. Thanks a lot for your effort!

          Oleg Nenashev added a comment -

          It was released in Jenkins 2.163

          Oleg Nenashev added a comment - It was released in Jenkins 2.163

          Works in Tomcat 8.5.37 on Java 11.

          Sysprops for possible future reference:

          Note: I also tried Tomcat 9.0.14, but got a blank page using Java 8, so didn't try on Java 11. Not considering it a blocker for Java 11 context because failing on Java 8 too (didn't even install the sloccount plugin).
          (Side note: speaking with my personal cap, I am in the opinion anyway we should officially de-support running Jenkins in Tomcat).

          Baptiste Mathus added a comment - Works in Tomcat 8.5.37 on Java 11. Sysprops for possible future reference: Note: I also tried Tomcat 9.0.14, but got a blank page using Java 8, so didn't try on Java 11. Not considering it a blocker for Java 11 context because failing on Java 8 too (didn't even install the sloccount plugin). (Side note: speaking with my personal cap, I am in the opinion anyway we should officially de-support running Jenkins in Tomcat).

            batmat Baptiste Mathus
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: