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 (upcoming) Oracle JDK 9 and refactor similar recipes to reduce duplications #587

Merged
merged 15 commits into from
Nov 23, 2015

Conversation

gildegoma
Copy link
Contributor

JDK 9 should be "Feature Complete" in late 2015, and its "General Availability" is planned for September 2016. In the meantime, it is already possible to use Oracle JDK 9 "Early Access".

So far, I found only two limitations with the current versions of the Webupd8 PPA packages:

  • The JCE Unlimited Strength Jurisdiction Policy is not effective yet (but the oracle-java9-unlimited-jce-policy package exists and is already integrated)
  • The SSL CA Certificates cannot be symlinked yet (because JAVA_HOME/jre subdirectory structure is not created yet)

With these PPA packages, the Java Cryptography Extension (JCE) unlimited
strength jurisdiction policy files are correctly installed for Oracle
JDK versions 7 and 8. A similar package already exists for Oracle JDK 9,
but effective ulimited strength policy files are not yet installed
(this is probably normal during the Early Access phase).
Note: unlike oraclejk8, the oraclejkd7 setup cache files were not swept out so far.
I don't know why `ignore_failure: true` was originally used, but I think
that it is on purpose to ensure that these files are always removed.
See 275f013 and #261.
I verified the git history of oraclejdk7 recipe, but could not find any
state where such symbolic link was manually created. The former
Michael's comments were orginally applied to the "non-architecture"
directories, in comparison to openjdk installations which always
contains the arch suffix. See also:
- michaelklishin/jdk_switcher@db238c2
- michaelklishin/jdk_switcher@6988597

Note: I don't think it is necessary to manually create these links,
since Travis environment are 64-bit only, but the jdk_switcher.sh can be
kept unchanged for flexibility and consistency with the handling of
other JDKs.
To be discussed, but I am not sure that it makes a lot of sense to cut
this Chef "imperative procedure" into small methods, especially because
we are here relying on a Ruby Module, not a Class.
This is a tiny (cosmetic) change, but I think that it makes things more
readable (in source code, and also in chef run log output).
As these tools are no longer installed via a Gemfile, Developers and CI
environments are more likely to run with different setup configurations.
This could then help to figure out the cause of behavior gaps...
@meatballhat
Copy link
Contributor

!!! 😻 !!!

@gildegoma
Copy link
Contributor Author

@meatballhat what about merging this now/soon, and you decide to ship oraclejdk9 via packer templates at the appropriate moment?

(drawback: the jdk_switcher will then respond to oraclejkd9 switch requests, but the same problem exists on VM images that don't provide the whole set of JDKs, e.g. not JVM image, not Mega image, etc)

@meatballhat
Copy link
Contributor

@gildegoma I'm happy to merge soon (now?), exactly for the reasons you've mentioned!

@gildegoma
Copy link
Contributor Author

@meatballhat cool! Please do :)

@meatballhat meatballhat self-assigned this Nov 23, 2015
meatballhat added a commit that referenced this pull request Nov 23, 2015
Add support for (upcoming) Oracle JDK 9 and refactor similar recipes to reduce duplications
@meatballhat meatballhat merged commit e7525d0 into master Nov 23, 2015
@meatballhat meatballhat deleted the gc-add-oraclejdk9 branch November 23, 2015 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants