Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Oracle OpenJDK binaries #69

Closed
giltene opened this issue May 28, 2020 · 22 comments · May be fixed by Exhorder6/setup-java#5, NOUIY/setup-java#6, NOUIY/setup-java#17, NOUIY/setup-java#25 or NOUIY/setup-java#43
Labels
feature request New feature or request to improve the current logic v2 setup-java

Comments

@giltene
Copy link
Contributor

giltene commented May 28, 2020

With work being done towards adding additional binary distributions of OpenJDK as options (likely under the "distro" option, see e.g. #67), it would be useful to include the Oracle OpenJDK binaries among the distro options

@sormuras
Copy link

In the meanwhile, I published https://github.com/sormuras/download-jdk -- which downloads a JDK from https://jdk.java.net that is consumable by actions/setup-java as two-step installation routine.

@sormuras
Copy link

FYI, I updated sormuras/download-jdk@v1 to version 1.1:

  • Supports Linux, Mac OS, and Windows
  • Supports Early-Access builds of top-level projects, like Loom, Panama, or Valhalla
  • Supports archived (EOL!) builds

@rahim873
Copy link

rahim873 commented Oct 12, 2020 via email

@xor-freenet
Copy link

Good reason to fix this:
Consider how large a discussion about which of the non-Oracle JDKs to use can grow: https://news.ycombinator.com/item?id=28820601
Not everybody has the time to dive into that much complexity just to run their code :)

@usersxx
Copy link

usersxx commented Mar 11, 2022

latest oracle openjdk download link follows this format: https://download.java.net/java/GA/jdk[version]/[regex]/[build]/GPL/openjdk-[version]_[operating system]-[arch]_bin.tar.gz

@carimura
Copy link

Thanks for the ping and good timing. We just launched oracle-actions/setup-java that adds support "on top of" actions/setup-java allowing for the download and use of the OracleJDK + NFTC license, and Oracle's OpenJDK builds including GA, early-access, and project builds of Loom, Panama, Valhalla, etc. We're currently assessing proposing some of the code "upstream".

You can find more information here:

@xor-freenet
Copy link

@carimura
Thanks for the effort! :)

Actions can have very high level of access to a repository and thus a high security impact.
I would therefore be reluctant to run any Actions which are not part of the official ones of GitHub.

Thus please do indeed ship your code as a PR to this official repository :)

@berezovskyi
Copy link

@xor-freenet given that they rewrote all the TS code in Java from scratch, it may be a bit challenging...

@slawekjaranowski
Copy link

I'm also for merging oracle-actions/setup-java into actions/setup-java

With two actions using matrix for jdk is difficult ....

@delabassee
Copy link

@slawekjaranowski @berezovskyi https://inside.java/2022/03/11/setup-java/ explains why we needed a separate action

@berezovskyi
Copy link

berezovskyi commented Mar 28, 2022

@delabassee I buy all the arguments except why a rewrite from TypeScript was needed. TypeScript is not my favourite language but I think all of the changes Oracle team needed could have been implemented as a PR (or a fork but still in TS). Anyway, I am awaiting native support for #68 more eagerly as NFTC only vaguely permits "running the Program for Your own personal use or internal business operations".

Re: input change, the addition of Oracle JDK support may have warranted a new major version of the action with the corresponding breaking changes.

Finally, congrats on the JDK 18 release!

@filiphr
Copy link

filiphr commented Jun 15, 2022

I am reading this issue now and I as a maintainer of Java projects would like to see the Oracle JDK and Open JDK from jdk.java.net available in the actions/setup-java.

I do not think that it is good to force Open Source maintainers to need to create multiple GitHub Workflows to be able to test with different JDKs. actions/setup-java provides an easy way to pick the distributor and you can create different matrices for testing.

@delabassee, I can't understand the justifications provided in https://inside.java/2022/03/11/setup-java/. I do not think that someone will have a problem in doing a breaking change in a new major version of actions/setup-java in order to be able to support early builds like Loom, Panama etc. The second part (being part of the Quality Outreach program), is actually a great argument to provide this within actions/setup-java. A lot of the Java Open Source community is already using this action and everything is running smoothly for them for years. With a new action, it means that we need to spend more time on setting it up, maintaining it, and updating it when needed. This is time that can be spend towards brining new features and bug fixes to our open source projects.

I, and I guess a lot of other Open Source maintainers, will be happy to see a convergence on this in order to reduce the duplicate work that we need to do. I hope you understand my position on this.

fniephaus added a commit to fniephaus/setup-java that referenced this issue Nov 4, 2022
fniephaus added a commit to fniephaus/setup-java that referenced this issue Nov 4, 2022
@fniephaus
Copy link
Contributor

Hi all, I've opened #401 which adds support for Oracle JDK to this action.

@sormuras
Copy link

Thanks @fniephaus - would be awesome to get an official review of your PR in order to make developers live easier, especially for those using this action in a matrix setup.

@brcrista
Copy link
Contributor

brcrista commented Dec 5, 2022

Thanks for the PR @fniephaus. Unfortunately, we historically haven't been able to support Oracle JDK and I believe we are still in that state.

As a result, we had to roll back the v3.7 release for setup-java which included this change. That means:

  • Workflows that are referencing actions/setup-java@v3.7 will fail to resolve the action and will need to go back to actions/setup-java@v3.6.
  • Workflows that are referencing actions/setup-java@v3 should not be impacted unless they are usingdistribution: oracle.

I apologize for the churn that this creates. I wanted to roll back the change as quickly as possible to minimize the number of workflows and setup-java releases that would be affected. I also apologize for not catching the issue sooner. We're working on adding some PR and Issue templates specifically for new Java distributions to make sure those changes get reviewed appropriately.

@berezovskyi
Copy link

berezovskyi commented Dec 5, 2022

Unfortunately, we historically haven't been able to support Oracle JDK and I believe we are still in that state.

Do I understand you correctly @brcrista that the issue is not technical?

@dmitry-shibanov
Copy link
Contributor

Hello everyone. We had discussions with Oracle teams and confirmed that we can add support for Oracle OpenJDK. We've released a new version of the action with support of Oracle OpenJDK. We are sorry for the confusion.

@jsoref
Copy link

jsoref commented Mar 5, 2023

@dmitry-shibanov: is there a reason you didn't close this ticket?

@dmitry-shibanov
Copy link
Contributor

Hello @jsoref. Sorry for the delay in closing the issue. For now I'm going to close the issue because the new version 3.10.0 with support of Oracle OpenJDK was released and the major tag was updated.

@mobeicanyue
Copy link

mobeicanyue commented Dec 18, 2023

Thanks for your guys generous works. And one question, I looking for v3.10.0, but I find that it's Oracle jdk, and seems not Oracle openjdk, why not support Oracle openjdk? I think it's not technique trouble, any question about License?

@IvanZosimov
Copy link
Contributor

IvanZosimov commented Dec 19, 2023

Hi, @mobeicanyue 👋 Thanks for the question, actually we have an open feature request related to adding OpenJDK. As soon as we got license-wise approval, the implementation process can be started.

@mobeicanyue
Copy link

mobeicanyue commented Dec 19, 2023

Hi, @mobeicanyue 👋 Thanks for the question, actually we have an open feature request related to adding OpenJDK. As soon as we got license-wise approval, the implementation process can be started.

Could I learn about the approval progress? I think it's so wired about oracle, they seems put copyright so hard even to open source project. It should be easy to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment