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

Prepare Azure AD for removal of JAXB and Java 11 requirement

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • _unsorted
    • None
    • 218.v90f6a_980b_a_61

      JAXB was removed from Java 9+. In 2.164, JAXB was detached into the JAXB API plugin, which means that any plugin with a Jenkins baseline prior to 2.164 will get JAXB on its classpath via the detached plugin mechanism. Any plugin with a Jenkins baseline greater than or equal to 2.164 will get JAXB on its classpath if and only if it declares a plugin-to-plugin dependency on JAXB (recommended) or embeds JAXB into its own .jpi via a direct or transitive dependency.

      A systematic search of the plugin corpus was conducted on May 9, 2022; this search revealed that this plugin has a baseline greater than or equal to 2.164, a direct or transitive usage of JAXB, no plugin-to-plugin dependency on JAXB, and no copy of JAXB in the .jpi. For compatibility with Java 11, this plugin must declare an explicit dependency on the JAXB API plugin as follows:

      <dependency>
        <groupId>io.jenkins.plugins</groupId>
        <artifactId>jaxb</artifactId>
        <version>2.3.6-1</version>
      </dependency>
      

      This plugin's identified usage of JAXB is as follows:

      Plugin azure-ad:195.v8555a0bf0d22 using javax/xml/bind/DatatypeConverter via com/github/scribejava/core/services/DatatypeConverterEncoder.class

          [JENKINS-68452] Prepare Azure AD for removal of JAXB and Java 11 requirement

          Basil Crow added a comment -

          Hi timja, it looks like scribjava deleted the DatatypeConverterEncoder class in https://github.com/scribejava/scribejava/commit/8d1527b5f2e6ad797ce9505cee04e2013b5bf67c which was released in 5.1.0. However, Azure AD depends on scribejava 4.2.0, which still has a dependency on JAXB. Would it be possible for you to upgrade the scribejava dependency from 4.2.0 to 5.1.0? That would eliminate our dependency on JAXB and resolve this ticket.

          Basil Crow added a comment - Hi timja , it looks like scribjava deleted the DatatypeConverterEncoder class in https://github.com/scribejava/scribejava/commit/8d1527b5f2e6ad797ce9505cee04e2013b5bf67c which was released in 5.1.0. However, Azure AD depends on scribejava 4.2.0, which still has a dependency on JAXB. Would it be possible for you to upgrade the scribejava dependency from 4.2.0 to 5.1.0? That would eliminate our dependency on JAXB and resolve this ticket.

          Tim Jacomb added a comment -

          I upgraded it to 8.3.1

          Tim Jacomb added a comment - I upgraded it to 8.3.1

          Basil Crow added a comment -

          Many thanks!

          Basil Crow added a comment - Many thanks!

            timja Tim Jacomb
            basil Basil Crow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: