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

Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

      The automatic installation of Tool JDK 10 failed today for us with a 404. It seems Oracle JDK 10 not available anymore at all. And Java 11 cannot be used in production due to new licences. No JDK 11 is available in Jenkins java.sun.com JDK Tool installer.

      https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

      I guess the tool installer should be changed to use http://openjdk.java.net/projects/jdk/11/ (downloaded from http://jdk.java.net/11/).

      Acceptance criteria

      • a JDK 11 is proposed as download
      • ideally, see if we can still propose JDK10,
      • and JDK12

          [JENKINS-54305] Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

          Marcus Philip created issue -

          I don't think that you wanted to open this issue on this project, INFRA is all about infrastructure running jenkins project.
          Is you issue related to https://github.com/jenkinsci/jdk-tool-plugin?
          Maybe dnusbaum can help on this?

          To give you an idea, on ci.jenkins.io, we set jdk11 to:

          Olivier Vernin added a comment - I don't think that you wanted to open this issue on this project, INFRA is all about infrastructure running jenkins project. Is you issue related to https://github.com/jenkinsci/jdk-tool-plugin? Maybe dnusbaum can help on this? To give you an idea, on ci.jenkins.io, we set jdk11 to: https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz https://download.java.net/java/ga/jdk11/openjdk-11_windows-x64_bin.zip
          Marcus Philip made changes -
          Component/s New: jdk-tool-plugin [ 23529 ]
          Component/s Original: etc [ 18774 ]
          Key Original: INFRA-1820 New: JENKINS-54305
          Workflow Original: classic default workflow [ 232241 ] New: JNJira + In-Review [ 232357 ]
          Project Original: Infrastructure [ 10301 ] New: Jenkins [ 10172 ]

          Devin Nusbaum added a comment - - edited

          Yes, Oracle's JDK 11 license change is problematic for most users.

          If I had time, I would like to switch the plugin to using OpenJDK builds from this page: https://jdk.java.net/archive/ (although that might not have the most current version of each release?). We would need to update the crawler to look in the right place, and change JDKInstaller.java to accommodate, but I do not think I will have any time to work on this in the near future.

          That said, the only reason this installation method exists in the first place is for backwards compatibility. It is unreliable and can break any time Oracle's website is updated (see JENKINS-47448 for an example of when this happened), and OpenJDK does not provide binary downloads for JDK 8 or older, so users building against old versions for whatever reason will be broken if we switch to OpenJDK.

          My recommendation would be to install the JDK on your build agents in advance instead of installing it on-demand using Jenkins. If you really need to install it on-demand, then it is better to use something like the "Run a shell command installer" with a script that runs apt-get install openjdk-11-jdk or similar to make sure you get the latest updates.

          Devin Nusbaum added a comment - - edited Yes, Oracle's JDK 11 license change is problematic for most users. If I had time, I would like to switch the plugin to using OpenJDK builds from this page: https://jdk.java.net/archive/ (although that might not have the most current version of each release?). We would need to update the crawler to look in the right place, and change JDKInstaller.java to accommodate, but I do not think I will have any time to work on this in the near future. That said, the only reason this installation method exists in the first place is for backwards compatibility. It is unreliable and can break any time Oracle's website is updated (see JENKINS-47448 for an example of when this happened), and OpenJDK does not provide binary downloads for JDK 8 or older, so users building against old versions for whatever reason will be broken if we switch to OpenJDK. My recommendation would be to install the JDK on your build agents in advance instead of installing it on-demand using Jenkins. If you really need to install it on-demand, then it is better to use something like the "Run a shell command installer" with a script that runs apt-get install openjdk-11-jdk or similar to make sure you get the latest updates.
          Oleg Nenashev made changes -
          Epic Link New: JENKINS-40689 [ 177392 ]

          Oleg Nenashev added a comment -

          We had a discussion about this issue in Platform SIG. I have tentatively added it to the Java 11 EPIC for consideration.

          My proposal would be to rename the plugin to "Oracle JDK Installer" and to mark it as deprecated for now. I do not think there is a pressing issue to provide a ToolInstaller replacement for OpenJDK which also has weird distribution policies starting from Java 11. Maybe the best way is to add AdoptOpenJDK installer or something like that

          Oleg Nenashev added a comment - We had a discussion about this issue in Platform SIG. I have tentatively added it to the Java 11 EPIC for consideration. My proposal would be to rename the plugin to "Oracle JDK Installer" and to mark it as deprecated for now. I do not think there is a pressing issue to provide a ToolInstaller replacement for OpenJDK which also has weird distribution policies starting from Java 11. Maybe the best way is to add AdoptOpenJDK installer or something like that

          Marcus Philip added a comment -

          I am quite OK with this not getting fixed. The main problem is really the confusion ('java.sun.com' in Installer name, no Java 11 appearing, Java 10 install failing, ...), not that there is no download installer available OOTB. It's simple to install the tool in another way.

          Marcus Philip added a comment - I am quite OK with this not getting fixed. The main problem is really the confusion ('java.sun.com' in Installer name, no Java 11 appearing, Java 10 install failing, ...), not that there is no download installer available OOTB. It's simple to install the tool in another way.

          benoit guerin added a comment -

          While I get your position guys, I think it's really a shame if that plugin disappears

          In my company, we have half a dozen of main projects, each one with its own rythm and most of all its one constraints. For example, for every installation or major upgrade in production of one of them, the whole software has to been checked (including third party librairies used, the embedeed JVM, ...) so it is unimaginable to change the JVM, even for a minor update, just because today is sunny

          Having this plugin, each team can specify, in its pipeline, what version of Java they want (8, 10, ...)

          Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ?

          benoit guerin added a comment - While I get your position guys, I think it's really a shame if that plugin disappears In my company, we have half a dozen of main projects, each one with its own rythm and most of all its one constraints. For example, for every installation or major upgrade in production of one of them, the whole software has to been checked (including third party librairies used, the embedeed JVM, ...) so it is unimaginable to change the JVM, even for a minor update, just because today is sunny Having this plugin, each team can specify, in its pipeline, what version of Java they want (8, 10, ...) Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ?

          Oleg Nenashev added a comment -

          > Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ?

          It depends on what you understand under "agent". For containers/images it is not a problem, they can be provisioned on-demand.For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory.

          > I think it's really a shame if that plugin disappears

          We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone.

           

           

          Oleg Nenashev added a comment - > Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ? It depends on what you understand under "agent". For containers/images it is not a problem, they can be provisioned on-demand.For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory. > I think it's really a shame if that plugin disappears We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone.    

          benoit guerin added a comment -

          > For containers/images it is not a problem

          you're right

          > For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory

          I have more this one in head. I can do this, but it's much more simpler to declare a tool in Jenkins tools configuration, provide a variable in my shared global pipeline lib, and let teams pick the one they want

          > We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone.

          I know how open source works  and be sure that every contribution I can do at my level, I do.

          Here I am a little bit lost ... For the crawler, can I open a PR on it ? It is Jenkins own INFRA, not (directly) used by jenkins installations. And about weird distribution policies, what is the problem ? If we fix the plugin to supports JDK 11, it is ok or not ?

          benoit guerin added a comment - > For containers/images it is not a problem you're right > For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory I have more this one in head. I can do this, but it's much more simpler to declare a tool in Jenkins tools configuration, provide a variable in my shared global pipeline lib, and let teams pick the one they want > We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone. I know how open source works  and be sure that every contribution I can do at my level, I do. Here I am a little bit lost ... For the crawler, can I open a PR on it ? It is Jenkins own INFRA, not (directly) used by jenkins installations. And about weird distribution policies, what is the problem ? If we fix the plugin to supports JDK 11, it is ok or not ?

            Unassigned Unassigned
            marcus_phi Marcus Philip
            Votes:
            9 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved: