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

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

    XMLWordPrintable

    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

            kohsuke Kohsuke Kawaguchi created issue -
            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.
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Component/s core [ 15593 ]
            Component/s plugin-proposals [ 15491 ]
            jglick Jesse Glick made changes -
            Labels api
            jglick Jesse Glick made changes -
            Labels api api java
            jglick Jesse Glick made changes -
            Summary Define manifest header in the jpi file to capture minimum JDK requirement Define manifest header in the jpi file to capture minimum Java requirement
            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.
            jglick Jesse Glick made changes -
            Labels api java api java updateCenter
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 152488 ] JNJira + In-Review [ 178220 ]
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-27624 [ JENKINS-27624 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-37080 [ JENKINS-37080 ]
            zen_pwning karthik vee made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            zen_pwning karthik vee made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            danielbeck Daniel Beck made changes -
            Assignee Daniel Beck [ danielbeck ]
            danielbeck Daniel Beck made changes -
            Remote Link This issue links to "Update center PR 164 (Web Link)" [ 17657 ]
            danielbeck Daniel Beck made changes -
            Remote Link This issue links to "HPI plugin PR 75 (Web Link)" [ 17658 ]
            danielbeck Daniel Beck made changes -
            Remote Link This issue links to "core PR 3016 (Web Link)" [ 17659 ]
            danielbeck Daniel Beck made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            danielbeck Daniel Beck made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            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).
            oleg_nenashev Oleg Nenashev made changes -
            Epic Link JENKINS-52012 [ 191514 ]
            oleg_nenashev Oleg Nenashev made changes -
            Assignee Daniel Beck [ danielbeck ] Oleg Nenashev [ oleg_nenashev ]
            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
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is blocking INFRA-1870 [ INFRA-1870 ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is blocking JENKINS-55048 [ JENKINS-55048 ]
            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
            oleg_nenashev Oleg Nenashev made changes -
            Released As Plugin POM 3.29
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Resolved [ 5 ]

              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: