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

Define manifest header in the jpi file to capture minimum Java requirement

    Details

    • Similar Issues:
    • Released As:
      Plugin POM 3.29

      Description

      Some plugins depend on Java6 (either by compiled for Java6 for by having critical dependencies that are compiled for Java6) while others still work on Java5. The manifest should declare this so that the update center can warn users appropritely.

        Attachments

          Issue Links

            Activity

            Hide
            slide_o_mix Alex Earl added a comment -

            I'm willing to look into this, but I am unsure how to determine the minimum JDK required for a plugin during the plugin build. Is there something in the maven setup that specifies this?

            Show
            slide_o_mix Alex Earl added a comment - I'm willing to look into this, but I am unsure how to determine the minimum JDK required for a plugin during the plugin build. Is there something in the maven setup that specifies this?
            Hide
            jglick Jesse Glick added a comment -

            Alex Earl see upcoming plugin POM proposal.

            Show
            jglick Jesse Glick added a comment - Alex Earl see upcoming plugin POM proposal.
            Hide
            jglick Jesse Glick added a comment -

            Really needs multiple components. First, a change to maven-hpi-plugin to record a Java version in the manifest; easy now since java.level is defined in the 2.x POM, so we could just configure the mojo based on that. Second, a change to the update center generator to expose this manifest field in the update center JSON (I think it does not include every field it sees, just the ones explicitly called out). Third, a change to core to block you from installing a new/updated plugin with a Java version newer than what you are currently running.

            Show
            jglick Jesse Glick added a comment - Really needs multiple components. First, a change to maven-hpi-plugin to record a Java version in the manifest; easy now since java.level is defined in the 2.x POM, so we could just configure the mojo based on that. Second, a change to the update center generator to expose this manifest field in the update center JSON (I think it does not include every field it sees, just the ones explicitly called out). Third, a change to core to block you from installing a new/updated plugin with a Java version newer than what you are currently running.
            Hide
            batmat Baptiste Mathus added a comment -

            JENKINS-37080 is marked as duplicate, but it's actually not exactly the same: capturing the target version of a given plugin is a first critical step, but it's not the same thing as modifying the UM to handle this.

            Daniel Beck I see you marked this in Progress since this morning (or evening PST ), do you plan to also adapt the Update Manager, or should JENKINS-37080 actually be reopened so that we have a look probably/ideally before Java 9 supports lands?

            Show
            batmat Baptiste Mathus added a comment - JENKINS-37080 is marked as duplicate, but it's actually not exactly the same: capturing the target version of a given plugin is a first critical step, but it's not the same thing as modifying the UM to handle this. Daniel Beck I see you marked this in Progress since this morning (or evening PST ), do you plan to also adapt the Update Manager, or should JENKINS-37080 actually be reopened so that we have a look probably/ideally before Java 9 supports lands?
            Hide
            danielbeck Daniel Beck added a comment -

            Baptiste Mathus See linked PRs to update center (forwarding this metadata) and core (consuming it).

            Show
            danielbeck Daniel Beck added a comment - Baptiste Mathus See linked PRs to update center (forwarding this metadata) and core (consuming it).
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            As discussed with Daniel Beck I will take a look at these stories. Some of them may be helpful to deliver a custom version of Pipeline: Support for Java 11 preview availability: JENKINS-51998 

             

            Show
            oleg_nenashev Oleg Nenashev added a comment - As discussed with Daniel Beck I will take a look at these stories. Some of them may be helpful to deliver a custom version of Pipeline: Support for Java 11 preview availability:  JENKINS-51998    
            Hide
            oleg_nenashev Oleg Nenashev added a comment -
            Show
            oleg_nenashev Oleg Nenashev added a comment - https://github.com/jenkinsci/plugin-pom/pull/134  is the reference impl
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Created JENKINS-55048 for landing the Core implementation by Daniel Beck. I think it should be a part of the Java 11 GA availability scope

            Show
            oleg_nenashev Oleg Nenashev added a comment - Created  JENKINS-55048 for landing the Core implementation by Daniel Beck . I think it should be a part of the Java 11 GA availability scope

              People

              • Assignee:
                oleg_nenashev Oleg Nenashev
                Reporter:
                kohsuke Kohsuke Kawaguchi
              • Votes:
                11 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: