What would the purpose of this be? With the build system changes we are getting developers ready to use a new different environment, testing that the build generates the same output, etc... I think the change from Java 6 to Java 7 is hardly of the same nature. We've already been running "parallel builds" for years.
With Java we're not changing how the build works (well we are - but that's the maven change :-) ), only saying that from now on we're not guaranteeing to support that the latest code will compile/run on a JVM neither Oracle (nor anyone else to my knowledge) supports... Are we expecting to deliver some key features in the next couple of releases that will be vital for Java 6 holdouts to adopt? Otherwise what difference does it make to a user who is stuck on Java 6 - at some point we are going to switch over and the only difference for them is going to be what new functionality is available only in a release which may not work on their system. Again, I reiterate "ending support" only means that we won't be guaranteeing that new releases with new features will work on Java 6. If someone comes to the user list and asks a question about version 0.28 on Java 6, then we'll still be supporting them. If someone finds a bug in 0.28 and there is no workaround, they can't move to Java 7, then I'd definitely look very favourably on releasing a patch release off 0.28. In practice I very much expect that the client and common code will still compile in Java 6, but we will no longer be forced to run unsupported Java environments on our systems nor to test against three major release of Java for every checkin that we do. -- Rob On 10 April 2014 20:03, Fraser Adams <[email protected]> wrote: > From a *really parochial* perspective I've done a straw poll of my > organisation and was astonished to find we're more or less ahead of the > curve :-D > > from a personal perspective, as I said earlier I'm largely agnostic > > I am however a bit disappointed by the lack of response on this thread, > though perhaps silence is simply acceptance? I guess that I also can't help > but wonder that we ended up going through a couple of releases before we > properly killed off the automake builds by providing some "persuaders" > because that seemed like the right thing to do. > > I think if I were being conservative/user friendly my preferred option > might be (now that the maven work is in 0.28) to make the Maven build use > Java 7 (you might have already done this I haven't checked) and to have a > *visible* deprecation notice appear at the end of the ant build to say that > this is intended to be the last ant/Java 6 supported version and provide a > link to the user list with a note for users to raise issues if moving to > Maven/Java 7 is a problem for them. > > That at least gives fair warning for people who may not read the user list. > > I think also holding fire on any code changes with an *absolute > dependency* on Java 7 until closer to 0.30 release time to give 0.28 users > who have issues with moving to Java 6 enough time to flag up concerns. > > I won't down vote it you don't want to do this and nobody else objects, > but I do think that it's the friendly thing to do. > > Frase > > > > On 09/04/14 21:51, Rob Godfrey wrote: > >> Just bumping this thread again - does anyone have any objections... I'd >> plan on moving forward with switching the builds to 1.7 sometime next >> week if we haven't heard any by then >> >> -- Rob >> >> >> On 8 April 2014 00:02, Robbie Gemmell <[email protected]> wrote: >> >> On 7 April 2014 19:30, Fraser Adams <[email protected]> >>> wrote: >>> >>> I think that this definitely needs input from the broad community. I can >>>> see where you're coming from, but my observations of large Enterprises >>>> (which TBH are often the main consumers of Messaging products) are that >>>> they are often in a difficult position wrt. keeping up with the times. >>>> Don't talk to me about IE8 for example!! There's a whole *industry* of >>>> polyfills because Enterprises won't or can't upgrade. >>>> >>>> I dont necessarily think IE8 is a comparable situation to a Java >>> version >>> change, but I do take your point. >>> >>> >>> I don't think that your comment "Those those who 'cant' or dont want to >>>> upgrade to such 'new' (i.e really quite old now) Java releases are often >>>> likely to be the same ones that aren't so likely to use the latest Qpid >>>> releases either" necessarily holds, often things like compiler versions >>>> >>> get >>> >>>> corporately mandated whereas there might be less control exerted on >>>> libraries. I've got painful memories of being stuck on Java 3 when the >>>> world had moved to Java 5, this stuff is not as simple as you seem to >>>> >>> think. >>> I agree that there is often more control (and as a result, lack thereof >>> for >>> the users) exercised over the platform than the things running on it, >>> but I >>> would also say that my experience has been that the two things drift >>> together to an extent as time passes, and the controlled platform leads >>> people to stop upgrading the things running on it as it gets older, even >>> when they could still do so. >>> >>> I do realise its not always that simple on the client side, but on the >>> broker side for example it isnt necessarily that hard, there are ways to >>> handle that in isolation if really required. Obviously if you rule those >>> options out you need to have a plan in place to cope with the result of >>> those decisions (where hoping we are super nice isnt really a plan). >>> >>> >>> I'm quite impressed that your own organisation has migrated to Java 7 >>>> >>>> >>>> I'm *personally* fairly agnostic on this I just think that it's >>>> important >>>> to bear in mind how large Enterprises often operate. >>>> >>>> I unfortunately would say I spend too much of my time bearing in mind >>> how >>> they do hehe. Its certainly getting my own personal consideration, an is >>> actually one of the main reasons I support the proposal. >>> >>> I know there are people that wont pick such new stuff up until several >>> months or years after it is released, at which point I dont really think >>> its a good thing to see them still able to deploy it on the Java 6 JVM >>> they >>> should have looked to stop using by then nevermind trying to use it for a >>> couple further years :) >>> >>> >>> (Lack of) what features are causing you the most pain? Just curious >>>> really. >>>> >>> >>> It isnt necessarily just about features (though there are certainly some >>> I'd like to be able to rely on, and not necessarily even at the language >>> level), eventual supportability also comes into it for me. If noone is >>> supporting those JVMs on the other end, and we dont really have the >>> bandwidth to do so either, is letting new stuff continue to run on them >>> when noone is testing/fixing the result really such a good thing? (Hello >>> Windows XP, I hear tomorrow is your deathday...please tell your users) >>> >>> Supporting things far beyond their own EOL date feels a bit like jumping >>> in >>> beside someone digging themselves into a hole to lend them an extra pair >>> of >>> hands to speed things up :) >>> >>> >>> Rob mentioned "as JMS 2.0 does" in his mail, I'm not at all familiar >>>> with >>>> JMS 2.0, so I'm interested what key things have changed and what new >>>> >>> stuff >>> >>>> it depends on. Is the implication of this that the new AMQP 1.0 JMS >>>> >>> client >>> >>>> that you guys are working on will be JMS 2.0 only? I noticed that the >>>> pom.xml in there specifies Java 7 already - I guess that's your none to >>>> subtle hint ;-> >>>> >>>> >>>> It is indeed to be a JMS 2.0 client and thus the 1.7 in the pom isnt a >>> hint >>> but rather a requirement; as Rob mentioned the JMS 2.0 API make use of >>> the >>> try-with-resources language feature, which is strictly Java7+ >>> >>> (obviously that isnt to say you can't do things like hack the bytecode >>> after the fact to make it work with Java 6, but...lets not get crazy) >>> >>> >>> Hmm you could probably make similar arguments for adopting C++11 - not >>>> least because Boost version dependencies suck, but there are still a ton >>>> >>> of >>> >>>> people (myself included at the moment) with older systems - though to be >>>> fair upgrading C++ compilers tends to be harder than upgrading Java >>>> versions for any given OS version. >>>> >>> >>> Especially if you arent talking about package manager installations. One >>> is >>> really really easy, is the other? :) >>> >>> >>> It's interesting that Proton (well Proton-C at any rate) seems to be >>>> taking a very different tack where it seems to be actively trying to >>>> minimise dependencies on anything new and shiny - I'm pretty sure I saw >>>> a >>>> Jira the other day for changing send.c and recv.c because they were C99 >>>> >>> and >>> >>>> broke on Windows builds that needed good old C89 :-D >>>> >>>> Just being a bit Devils' advocate to mix things up a bit, as I say I'm >>>> personally agnostic :-) >>>> >>>> Frase >>>> >>>> >>>> >>>> On 07/04/14 17:33, Robbie Gemmell wrote: >>>> >>>> I think this makes sense. We waited too long to drop support for Java >>>>> 5, >>>>> lets not repeat that with 6. Beginning to depend on Java 7 after three >>>>> years doesnt seem unreasonable to me. >>>>> >>>>> Those those who 'cant' or dont want to upgrade to such 'new' (i.e >>>>> really >>>>> quite old now) Java releases are often likely to be the same ones that >>>>> aren't so likely to use the latest Qpid releases either. >>>>> >>>>> Robbie >>>>> >>>>> On 7 April 2014 13:17, Rob Godfrey <[email protected]> wrote: >>>>> >>>>> All, >>>>> >>>>>> now that Java 8 has been released, and Java 6 has been officially EOLd >>>>>> for >>>>>> well over a year, I'd like to propose that we make 0.28 the last >>>>>> >>>>> release >>> >>>> for which we officially support Java 6. As a library provider I'm >>>>>> >>>>> aware >>> >>>> that we need to strive to make our libraries as widely adoptable as >>>>>> possible, but not adopting Java 7 also holds us back from implementing >>>>>> functionality that requires features of later releases (as JMS 2.0 >>>>>> >>>>> does). >>> >>>> Java 7 was released in 2011 and is itself scheduled to be EOLd next >>>>>> >>>>> year. >>> >>>> If we do later find critical defects that affect the 0.28 release we >>>>>> should >>>>>> consider back-patching to a Java 6 release based on 0.28, however I >>>>>> >>>>> don't >>> >>>> think requiring that all new functionality releases require the >>>>>> >>>>> adoption >>> >>>> a >>>>>> version of Java that Oracle supports to be an undue burden. >>>>>> >>>>>> -- Rob >>>>>> >>>>>> >>>>>> ------------------------------------------------------------ >>>> --------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
