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

Release the JAXB Plugin

    XMLWordPrintable

Details

    • Jenkins 2.163

    Description

      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 

      Attachments

        Issue Links

          Activity

            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.

            batmat 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.

            batmat 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.

            batmat 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 

             

            batmat 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.  
            rpionke 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

            rpionke 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
            batmat 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!

            rpionke 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 Oleg Nenashev added a comment -

            It was released in Jenkins 2.163

            oleg_nenashev 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).

            batmat 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).

            People

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

              Dates

                Created:
                Updated:
                Resolved: