Giter VIP home page Giter VIP logo

Comments (27)

bootstraponline avatar bootstraponline commented on June 9, 2024

Travis should provide Oracle JDKs (as CloudBees does with their hosted Jenkins service).

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

@bootstraponline Travis should provide multiple JDKs, not just Oracle JDKs. All the interesting new development happens in OpenJDK and Oracle JDKs are only released months after OpenJDK GA. So if we ever want to provide recent updates quickly, having OpenJDK is the only way to go. Plus, this is what is the default in many leading distros.

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

Travis should provide both OpenJDK and Oracle JDK. At the moment travis-ci doesn't provide any Oracle JDKs which is the reason for my comment.

There are still significant differences between OpenJDK and Oracle JDK. Some apps are certified only for Oracle JDK so to not have the ability to test against the official Oracle release is a deal breaker.

Also there's a reason why CloudBees only provides official Oracle releases.
http://wiki.cloudbees.com/bin/view/DEV/Jenkins+Build+Machine+Specifications

from travis-cookbooks.

joshk avatar joshk commented on June 9, 2024

I think it would be nice to supply for JDKs, but two things seem to be in the way:

  1. cookbooks to install another JDK or two
  2. a JDK swticher

Interested in helping?

On 16/05/2012, at 8:26 PM, bootstraponline wrote:

Travis should provide both OpenJDK and Oracle JDK. At the moment travis-ci doesn't provide any Oracle JDKs which is the reason for my comment.

There are still significant differences between OpenJDK and Oracle JDK. Some apps are certified only for Oracle JDK so to not have the ability to test against the official Oracle release is a deal breaker.


Reply to this email directly or view it on GitHub:
#35 (comment)

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

I think the opscode java cookbook supports everything required. The update-alternatives script should be good enough to switch between the java versions.

I'm willing to help if travis-ci is interested in supporting the Oracle JDK. Oracle now forces you to host the JDK on an internal repository instead of downloading it from their website. If travis-ci hosts that repository, the cookbook and JDK switcher are not complicated.

from travis-cookbooks.

joshk avatar joshk commented on June 9, 2024

I am very keen for help on this, and very keen to add Oracle JDK + Java 7u2 (imagine testing against 4 Java versions!)

On 16/05/2012, at 8:38 PM, bootstraponline wrote:

I think the opscode java cookbook supports everything required. The update-alternatives script should be good enough to switch between the java versions.

I'm willing to help if travis-ci is interested in supporting the Oracle JDK. Oracle now forces you to host the JDK on an internal repository instead of downloading it from their website. If travis-ci hosts that repository, the cook book and JDK switcher are not complicated.


Reply to this email directly or view it on GitHub:
#35 (comment)

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

I will work through some of the other issues in my OSS projects this week and finally push what I have. The problem with the JDK switcher and possible solutions are pretty well understood now.

As a side note, it is obvious from how many Java, Clojure, Scala projects we have that not having Oracle JDK is not a deal breaker for most people. Even engineers from Oracle have asked me that we provide OpenJDK 7.

from travis-cookbooks.

joshk avatar joshk commented on June 9, 2024

<3<3<3

But if I play the devils advocate, is providing Oracle JDK 6 and 7 a bad thing to do?

On 16/05/2012, at 8:45 PM, Michael Klishin wrote:

I will work through some of the other issues in my OSS projects this week and finally push what I have. The problem with the JDK switcher and possible solutions are pretty well understood now.

As a side note, it is obvious from how many Java, Clojure, Scala projects we have that not having Oracle JDK is not a deal breaker for most people. Even engineers from Oracle have asked me that we provide OpenJDK 7.


Reply to this email directly or view it on GitHub:
#35 (comment)

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

I meant "in addition to OpenJDK 6". I'd be happy to provide 5-6 JDKs if it won't be too much maintenance and we can do it legally (I am not sure if we can do it for IBM J9 and Oracle's JRockit).

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

I posted this before the other comments were available. It sounds like @michaelklishin has it all set. If I can help let me know.

Oracle JDK can be provided legally provided the terms of use are followed. I don't think J9 or JRockit are important.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

OpenJDK 6 and 7, Oracle JDK 7, possibly Oracle JDK 6 and J9. JDK 6 is EOL this November, JDK 7 will be the default in the next Ubuntu and Fedora releases and finally, 7 is backwards compatible (the "Lucene incident" was clearly a serious bug, not an intentional breakage).

And yes, we will use update-alternatives and friends.

from travis-cookbooks.

joshk avatar joshk commented on June 9, 2024

Actually we can get Travis to do the jdk switching as part of the Java Builder. :)

On 16/05/2012, at 8:51 PM, bootstraponline wrote:

  • Which versions of Java do we want to support? I think the latest 1.6 and 1.7 of OpenJDK and Oracle JDK is good enough. I'm not sure supporting 1.5 is desirable.
  • How is travis-ci going to host the Oracle JDK builds? They should only be internally accessible. Some companies just use S3.

I'm thinking it'll be easy enough to modify the opscode java cookbook to install the desired Java JDKs in standard locations. Then documentation can be provided on how to call update-alternatives to select the appropriate Java.


Reply to this email directly or view it on GitHub:
#35 (comment)

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

That sounds great.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

For the record, @loicfrering and I just discussed how exactly we should proceed with this. The plan is

  • Add a bunch of recipes that install OpenJDK 6 (java::openjdk6), OpenJDK 7 (java::openjdk7), Oracle JDK 7u4 via PPA and maybe Sun JDK 6 (although I think it is not worth having)
  • Finish with the java::multi recipe that will be very much like rvm::multi, php::multi, python::multi and so on
  • Finish the JDK switcher tool
  • (Possibly) make Oracle JDK 7 (because it is at Update 4 with lots of improvements JRuby and JRuby users crave for) the default

Loïc will start with the first 2, I will review and test pull requests. I will finish the 3rd item and gather some feedback about making the switch to JDK 7.

Opinions on the latter are very welcome. Keep in mind that JDK 6 is EOL this November and next versions of Ubuntu and Fedora will use OpenJDK 7.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

Oracle JDK 7u4 recipe is ready as of afa31a8, ready for both 11.10 and 12.04.

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

Oracle JDK 7 support is wonderful and makes sense as the default. I don't use JDK 6 and it will be EOL soon so I'm not sure it's worth it.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

There are services that won't work with Oracle JDK 7 (Elastic Search is one example). So OpenJDK 7 will be the default.

from travis-cookbooks.

loicfrering avatar loicfrering commented on June 9, 2024

I agree that Oracle JDK7 support is important but OpenJDK7 makes more sense as the default java version on Travis.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

To clarify: they will work with Oracle JDK 7 but won't install without OpenJDK 7 available because of package dependencies. ES right now can work with OpenJDK 6 or 7 and Sun JDK 6 that Ubuntu provides in the partner repository. Unfortunately, it is unrealistic to run after each package and try to fix their dependency list to include recent Oracle JDK 7 updates from the PPA we use.

It won't be difficult to test against Oracle JDK 7 for projects that primarily want that, though: a line or two in .travis.yml.

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

OpenJDK 7 as default is fine as switching to Oracle is easy enough for those that want it.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

Actually, I think I have a solution I need to try first. Then using Oracle JDK 7 by default will be an option.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

Great progress on this issue today (primarily by @loicfrering). We will deploy multiple JDKs side by side (OpenJDK 6 will stay the default until this feature is fully complete and baked) and run some tests without the proper switching tool in the upcoming week. So far we have

  • OpenJDK 7
  • Oracle JDK 7u4
  • OpenJDK 6

and it sounds like what we really care about. Sun JDK 6 is the same as OpenJDK 6 as far as the server side software goes and is EOL in less than 6 months. Also, its recipe is the most hairy one so I am happy to leave it behind.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

We deployed this to jvmotp1.worker today, looks like the CI env part of this is done

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

What do I put in .travis.yml to use Oracle JDK 7?

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

It is only deployed for jvmotp1.worker (so, will only work for Clojure, Groovy, Java and Scala projects, no JRuby yet). You need to add this:

jdk:
  - openjdk6
  - openjdk7
  - oraclejdk7

(pick JDKs you care about out of those 3). Let us know how it goes (here or on the mailing list).

from travis-cookbooks.

bootstraponline avatar bootstraponline commented on June 9, 2024

I tested with all 3 and it works! I switched to just use oraclejdk7.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

Nice. Feel free to spread the word about this feature to Java/ Groovy/Scala/Clojure projects you care about, we will finish with the JRuby part, publish the docs and blog announcement later this week.

from travis-cookbooks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.