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.

          [JENKINS-22367] Move JDKInstaller to a plugin

          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.

          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.

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

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

          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.

          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.

          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

          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

            dnusbaum Devin Nusbaum
            lshatzer Larry Shatzer, Jr.
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: