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

Move JDKInstaller to a plugin

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When Oracle changes the cookie name they use to check if you have agreed to the license agreement, it currently requires a core change to make this happen. It would be best if the JDKInstaller was its own plugin, so we can just update the plugin, and that will allow older Jenkins installs to upgrade, if necessary.

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            Agreed.

            We should also consider adding an installer for the JRE, which can be gotten from java.com more easily, I think, and which would suffice for some purposes. Not compiling Java programs, obviously—unless you are using (say) a Maven project requesting the Eclipse compiler. But possibly enough to run many Ant/Maven/Gradle builds. And all that is needed for SSH Slaves and similar slave launchers, since you only need a JRE for the slave agent.

            Show
            jglick Jesse Glick added a comment - Agreed. We should also consider adding an installer for the JRE, which can be gotten from java.com more easily, I think, and which would suffice for some purposes. Not compiling Java programs, obviously—unless you are using (say) a Maven project requesting the Eclipse compiler. But possibly enough to run many Ant/Maven/Gradle builds. And all that is needed for SSH Slaves and similar slave launchers, since you only need a JRE for the slave agent.
            Hide
            jglick Jesse Glick added a comment -

            Even better, move JDK itself to a plugin, converting AbstractProject.jdk to a BuildWrapper in that plugin, so that the whole system can be removed for people not doing Java development. The main compatibility concern is Java callers of AbstractProject.getJDK (search).

            Show
            jglick Jesse Glick added a comment - Even better, move JDK itself to a plugin, converting AbstractProject.jdk to a BuildWrapper in that plugin, so that the whole system can be removed for people not doing Java development. The main compatibility concern is Java callers of AbstractProject.getJDK ( search ).
            Hide
            jglick Jesse Glick added a comment -

            Actually I think the main compatibility concern is calls to Jenkins.getJDKs and similar methods. For example, these are called from maven-plugin, matrix-project, etc. However you can simply switch such calls to JDK.DescriptorImpl.getInstallations, which then would behave smoothly after a split, assuming we found some way to migrate the Jenkins.jdks field, which seems tractable. ant and pipeline-maven appear to use the sane call already.

            envinject does call AbstractProject.getJDK. This jdk field also needs to be migrated to the plugin, I suppose as a JobProperty.

            MatrixProject.getJDKs should be deleted, and PromotionProcess should be fixed.

            Show
            jglick Jesse Glick added a comment - Actually I think the main compatibility concern is calls to Jenkins.getJDKs and similar methods. For example, these are called from maven-plugin , matrix-project , etc. However you can simply switch such calls to JDK.DescriptorImpl.getInstallations , which then would behave smoothly after a split, assuming we found some way to migrate the Jenkins.jdks field, which seems tractable. ant and pipeline-maven appear to use the sane call already. envinject does call AbstractProject.getJDK . This jdk field also needs to be migrated to the plugin, I suppose as a JobProperty . MatrixProject.getJDKs should be deleted, and PromotionProcess should be fixed.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Devin Nusbaum
            Path:
            core/src/main/java/hudson/model/JDK.java
            core/src/main/java/hudson/tools/JDKInstaller.java
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK.jelly
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_bg.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_de.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_es.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_it.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_ja.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_pt_BR.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_sr.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_zh_TW.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential.jelly
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_bg.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_de.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_es.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_it.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_ja.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_pt_BR.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_sr.properties
            core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_zh_TW.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config.jelly
            core/src/main/resources/hudson/tools/JDKInstaller/config_bg.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_ca.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_da.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_de.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_en_GB.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_es.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_fi.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_fr.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_he.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_it.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_ja.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_lt.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_lv.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_nl.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_pl.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_pt_BR.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_pt_PT.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_ru.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_sk.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_sr.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_sv_SE.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_zh_CN.properties
            core/src/main/resources/hudson/tools/JDKInstaller/config_zh_TW.properties
            core/src/main/resources/hudson/tools/Messages.properties
            core/src/main/resources/hudson/tools/Messages_bg.properties
            core/src/main/resources/hudson/tools/Messages_da.properties
            core/src/main/resources/hudson/tools/Messages_de.properties
            core/src/main/resources/hudson/tools/Messages_es.properties
            core/src/main/resources/hudson/tools/Messages_it.properties
            core/src/main/resources/hudson/tools/Messages_ja.properties
            core/src/main/resources/hudson/tools/Messages_pt_BR.properties
            core/src/main/resources/hudson/tools/Messages_sr.properties
            core/src/main/resources/hudson/tools/Messages_zh_CN.properties
            core/src/main/resources/hudson/tools/Messages_zh_TW.properties
            core/src/main/resources/jenkins/split-plugin-cycles.txt
            core/src/main/resources/jenkins/split-plugins.txt
            test/src/test/java/hudson/model/DownloadServiceTest.java
            test/src/test/java/hudson/tools/JDKInstallerTest.java
            test/src/test/resources/hudson/model/hudson.tools.JDKInstaller1.json
            test/src/test/resources/hudson/model/hudson.tools.JDKInstaller2.json
            test/src/test/resources/hudson/model/hudson.tools.JDKInstaller3.json
            test/src/test/resources/hudson/model/hudson.tools.JDKInstallerResult.json
            war/pom.xml
            http://jenkins-ci.org/commit/jenkins/f0819d2585bdf212ca1928146d1fa8e50cc3025c
            Log:
            JENKINS-22367 Split JDKInstaller to a plugin (#3301)

            • JENKINS-22367 Preparation for split of JDKInstaller to a plugin
            • Add split-plugins entry and pending update to war/pom.xml
            • Update jdk-tool plugin description
            • Fix Findbugs warnings
            • Update to HttpComponents Client 4.5
            • Preserve formatting in translations of Messages.properties
            • Preserve ISO-8859-1 encoding for properties
            • Break cycle between jdk-tool and apache-httpcomponents-client-4-api
            • Update version numbers after merge
            • Add warning for the download from java.sun.com JDK installer
            • Fix issues introduced when cleaning up Findbugs errors in 9dbf833
            • Use warning class for error message and adjust message text
            • Revert "Update to HttpComponents Client 4.5"

            This reverts commit 9dbf8334c47eceecea916e105784d4f90415e3c3.

            • Findbugs
            • Remove JenkinsRule from test that does not use it
            • Update version numbers after merge
            • Warn when unexpected exceptions are thrown and update new plugin urls
            • Update to 2.109-SNAPSHOT
            • Address review feedback
            • Update to 2.111-SNAPSHOT
            • Try to use the agent's default charset to copy the install log
            • Update to 2.112-SNAPSHOT
            • Remove local module and use snapshot of jdk-tool
            • Update to jdk-tool:1.0
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Devin Nusbaum Path: core/src/main/java/hudson/model/JDK.java core/src/main/java/hudson/tools/JDKInstaller.java core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK.jelly core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_bg.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_de.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_es.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_it.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_ja.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_pt_BR.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_sr.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/credentialOK_zh_TW.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential.jelly core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_bg.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_de.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_es.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_it.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_ja.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_pt_BR.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_sr.properties core/src/main/resources/hudson/tools/JDKInstaller/DescriptorImpl/enterCredential_zh_TW.properties core/src/main/resources/hudson/tools/JDKInstaller/config.jelly core/src/main/resources/hudson/tools/JDKInstaller/config_bg.properties core/src/main/resources/hudson/tools/JDKInstaller/config_ca.properties core/src/main/resources/hudson/tools/JDKInstaller/config_da.properties core/src/main/resources/hudson/tools/JDKInstaller/config_de.properties core/src/main/resources/hudson/tools/JDKInstaller/config_en_GB.properties core/src/main/resources/hudson/tools/JDKInstaller/config_es.properties core/src/main/resources/hudson/tools/JDKInstaller/config_fi.properties core/src/main/resources/hudson/tools/JDKInstaller/config_fr.properties core/src/main/resources/hudson/tools/JDKInstaller/config_he.properties core/src/main/resources/hudson/tools/JDKInstaller/config_it.properties core/src/main/resources/hudson/tools/JDKInstaller/config_ja.properties core/src/main/resources/hudson/tools/JDKInstaller/config_lt.properties core/src/main/resources/hudson/tools/JDKInstaller/config_lv.properties core/src/main/resources/hudson/tools/JDKInstaller/config_nl.properties core/src/main/resources/hudson/tools/JDKInstaller/config_pl.properties core/src/main/resources/hudson/tools/JDKInstaller/config_pt_BR.properties core/src/main/resources/hudson/tools/JDKInstaller/config_pt_PT.properties core/src/main/resources/hudson/tools/JDKInstaller/config_ru.properties core/src/main/resources/hudson/tools/JDKInstaller/config_sk.properties core/src/main/resources/hudson/tools/JDKInstaller/config_sr.properties core/src/main/resources/hudson/tools/JDKInstaller/config_sv_SE.properties core/src/main/resources/hudson/tools/JDKInstaller/config_zh_CN.properties core/src/main/resources/hudson/tools/JDKInstaller/config_zh_TW.properties core/src/main/resources/hudson/tools/Messages.properties core/src/main/resources/hudson/tools/Messages_bg.properties core/src/main/resources/hudson/tools/Messages_da.properties core/src/main/resources/hudson/tools/Messages_de.properties core/src/main/resources/hudson/tools/Messages_es.properties core/src/main/resources/hudson/tools/Messages_it.properties core/src/main/resources/hudson/tools/Messages_ja.properties core/src/main/resources/hudson/tools/Messages_pt_BR.properties core/src/main/resources/hudson/tools/Messages_sr.properties core/src/main/resources/hudson/tools/Messages_zh_CN.properties core/src/main/resources/hudson/tools/Messages_zh_TW.properties core/src/main/resources/jenkins/split-plugin-cycles.txt core/src/main/resources/jenkins/split-plugins.txt test/src/test/java/hudson/model/DownloadServiceTest.java test/src/test/java/hudson/tools/JDKInstallerTest.java test/src/test/resources/hudson/model/hudson.tools.JDKInstaller1.json test/src/test/resources/hudson/model/hudson.tools.JDKInstaller2.json test/src/test/resources/hudson/model/hudson.tools.JDKInstaller3.json test/src/test/resources/hudson/model/hudson.tools.JDKInstallerResult.json war/pom.xml http://jenkins-ci.org/commit/jenkins/f0819d2585bdf212ca1928146d1fa8e50cc3025c Log: JENKINS-22367 Split JDKInstaller to a plugin (#3301) JENKINS-22367 Preparation for split of JDKInstaller to a plugin Add split-plugins entry and pending update to war/pom.xml Update jdk-tool plugin description Fix Findbugs warnings Update to HttpComponents Client 4.5 Preserve formatting in translations of Messages.properties Preserve ISO-8859-1 encoding for properties Break cycle between jdk-tool and apache-httpcomponents-client-4-api Update version numbers after merge Add warning for the download from java.sun.com JDK installer Fix issues introduced when cleaning up Findbugs errors in 9dbf833 Use warning class for error message and adjust message text Revert "Update to HttpComponents Client 4.5" This reverts commit 9dbf8334c47eceecea916e105784d4f90415e3c3. Findbugs Remove JenkinsRule from test that does not use it Update version numbers after merge Warn when unexpected exceptions are thrown and update new plugin urls Update to 2.109-SNAPSHOT Address review feedback Update to 2.111-SNAPSHOT Try to use the agent's default charset to copy the install log Update to 2.112-SNAPSHOT Remove local module and use snapshot of jdk-tool Update to jdk-tool:1.0

              People

              • Assignee:
                dnusbaum Devin Nusbaum
                Reporter:
                lshatzer Larry Shatzer, Jr.
              • Votes:
                2 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: