Re: [C3] Java version 1.6
On 11/08/2011 00:42, Steven Dolg wrote: Am 04.08.2011 00:03, schrieb Sylvain Wallez: Le 01/08/11 16:26, Nathaniel, Alfred a écrit : Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Here's an additional one to the ones already given : StAX (javax.xml.stream) is included in 1.6, whereas it requires a separate implementation (e.g. Woodstox) in 1.5. I have another one: trunk cannot be compiled with Java 5 any more. Adding @Override to methods that implement an interface is only allowed in 1.6 and not in 1.5. I can see 44 errors due to that in cocoon-sax, cocoon-sitemap, cocoon-stringtemplate and cocoon-wicket. So our build is only working because de facto we are already running on 1.6. I guess that at this point we should urgently choose whether to officially upgrade to 1.6 or to put in place something like animal sniffer [1] - as suggested by Simone, in order to retain effective 1.5 compatibility. If we get stuck in the current situation, instead, we will keep an inconsistent build behavior where either you need a real 1.5 JDK - it's been long time since I had something similar installed in my laptop - or a human 1.5 parser :-) Regards. [1] http://mojo.codehaus.org/animal-sniffer-maven-plugin -- Francesco Chicchiriccò Apache Cocoon Committer and PMC Member http://people.apache.org/~ilgrosso/
Re: [C3] Java version 1.6
Am 04.08.2011 00:03, schrieb Sylvain Wallez: Le 01/08/11 16:26, Nathaniel, Alfred a écrit : Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Here's an additional one to the ones already given : StAX (javax.xml.stream) is included in 1.6, whereas it requires a separate implementation (e.g. Woodstox) in 1.5. I have another one: trunk cannot be compiled with Java 5 any more. Adding @Override to methods that implement an interface is only allowed in 1.6 and not in 1.5. I can see 44 errors due to that in cocoon-sax, cocoon-sitemap, cocoon-stringtemplate and cocoon-wicket. So our build is only working because de facto we are already running on 1.6. Sylvain -- Sylvain Wallez -http://bluxte.net
Re: [C3] Java version 1.6
Hi all guys!!! I agree with Nathaniel, I had terrible pains with method-not-found exception with Google Doclava simply by targeting to java1.5 but using 1.6 :P Anyway, the animal-sniffer[1] maven plugin helps a lot on keeping code safely 1.5 compatible - Google team used it a lot while developing Google Guice Anyway, I'm +0 for the upgrade and explain my personal motivations following the list provided by Francesco - and please remember I'm more familiar with coreoptional APIs ;) * Collections Framework Enhancements +0: We are strongly relying on LinkedList, HashMap and LinkedHashMap implementations; is there any impl in Java6 that could help on improving the pipeline APIs? * and ServiceLoader +0: there's nothing that commons-discovery[2] cannot do compared to Java built-in ServiceLoader; OTOH, discovery supports more features * Internationalization Enhancements: especially now that we should start working on the new i18n transformer [3] +1 * JMX [4] and Management enhancements: will we ever put this great Cocoon 3 stuff in production? +1 Last but not least, Cocoon 3 depends on many other frameworks and libraries that will eventually require Java 6 (and 7, soon) capabilities. +0: If those dependencies name start with 'S' and terminate with 'pringframework', I would personally love to see them replaced, but that's just *my* POV :P ;) Have a nice day, all the best!!! Simo [1] http://mojo.codehaus.org/animal-sniffer-maven-plugin/ [2] http://commons.apache.org/discovery/ http://people.apache.org/~simonetripodi/ http://www.99soft.org/ On Tue, Aug 2, 2011 at 3:56 PM, Nathaniel, Alfred alfred.nathan...@six-group.com wrote: Peter Hunsberger wrote: We seem to have this discussion every few years. There's always people that can't upgrade. Personally I think it's time to do it and I wish we had done it long ago. With C3 in particular, people should have no dependencies in production since it is still officially Beta. Even if they do, they can stay on a previous version after all, if it is good enough to use at all why can't they stick with what they are using? Unless someone can come up with a reason not to I'd say it's time to start a vote. True, we had the same discussion years ago to me C2.1 from J1.3 to J1.4. Apart from the improvements we get when using 1.6, my main point is that real 1.5 support is not achieved by using a 1.6 javac with -source=1.5 and -target=1.5. That happily compiles and generates 1.5 byte code containing calls to String.isEmpty. Only when you run that jar in a 1.5 JVM it will die with a method-not-found exception. Unless we have a good crowd of developers who voluntarily stick to 1.5 all the way, it is just wishful thinking that C3 is and remains 1.5 compatible. Even if that hypothetical poor guy exists who would love to use C3 but is stuck at Java5, I don't think we do him a favor. Better force them to go 1.6 than to have them chase the next odd String.isEmpty which leaked into the release. Hands up who is / is willing to run jdk1.5 for C3 development. NB Jenkins is setup with 1.6. Does infra support real 1.5 builds? Cheers, Alfred. The content of this e-mail is intended only for the confidential use of the person addressed. If you are not the intended recipient, please notify the sender and delete this e-mail immediately. Thank you.
Re: [C3] Java version 1.6
Le 01/08/11 16:26, Nathaniel, Alfred a écrit : Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Here's an additional one to the ones already given : StAX (javax.xml.stream) is included in 1.6, whereas it requires a separate implementation (e.g. Woodstox) in 1.5. Sylvain -- Sylvain Wallez - http://bluxte.net
Re: [C3] Java version 1.6
On 01/08/2011 21:06, Simone Tripodi wrote: Hi all guys!!! My question is instead: is there any advantage we can get by targeting Cocoon to Java6? Is there any specific Java6 APIs we need to improve the existing codebase? If yes, please can you describe? Hi Simone, some of my favorite Java 6 features that Cocoon codebase could profit from: * Collections Framework Enhancements and ServiceLoader [1]: Cocoon source code makes large use of collections, thus usage of these features can improve quality and performance * Internationalization Enhancements [2]: especially now that we should start working on the new i18n transformer [3] * JMX [4] and Management [5] enhancements: will we ever put this great Cocoon 3 stuff in production? Last but not least, Cocoon 3 depends on many other frameworks and libraries that will eventually require Java 6 (and 7, soon) capabilities. Regards. [1] http://download.oracle.com/javase/6/docs/technotes/guides/lang/enhancements.html#6 [2] http://download.oracle.com/javase/6/docs/technotes/guides/intl/enhancements.html [3] https://issues.apache.org/jira/browse/COCOON3-64 [4] http://download.oracle.com/javase/6/docs/technotes/guides/jmx/enhancements.html [5] http://download.oracle.com/javase/6/docs/technotes/guides/management/enhancements.html 2011/8/1 Francesco Chicchiriccòilgro...@apache.org: On 01/08/2011 16:26, Nathaniel, Alfred wrote: Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Not that I know, so +1 for me to move to 1.6. Regards. -- Francesco Chicchiriccò Apache Cocoon Committer and PMC Member http://people.apache.org/~ilgrosso/
Re: [C3] Java version 1.6
Am 02.08.2011 10:16, schrieb Francesco Chicchiriccò: On 01/08/2011 21:06, Simone Tripodi wrote: Hi all guys!!! My question is instead: is there any advantage we can get by targeting Cocoon to Java6? Is there any specific Java6 APIs we need to improve the existing codebase? If yes, please can you describe? Hi Simone, some of my favorite Java 6 features that Cocoon codebase could profit from: * Collections Framework Enhancements and ServiceLoader [1]: Cocoon source code makes large use of collections, thus usage of these features can improve quality and performance * Internationalization Enhancements [2]: especially now that we should start working on the new i18n transformer [3] * JMX [4] and Management [5] enhancements: will we ever put this great Cocoon 3 stuff in production? Last but not least, Cocoon 3 depends on many other frameworks and libraries that will eventually require Java 6 (and 7, soon) capabilities. Regards. That's a good list and some fine reasons to switch to Java 6. Actually my approach would be to ask if there's any downside to upgrading. All I could think of is that someone might be bound to Java 5 (upgrade policies, special JVM implementations, platform limitations), which I find highly unlikely (20 months is plenty of time to migrate). So I'm definitely for upgrading! [1] http://download.oracle.com/javase/6/docs/technotes/guides/lang/enhancements.html#6 [2] http://download.oracle.com/javase/6/docs/technotes/guides/intl/enhancements.html [3] https://issues.apache.org/jira/browse/COCOON3-64 [4] http://download.oracle.com/javase/6/docs/technotes/guides/jmx/enhancements.html [5] http://download.oracle.com/javase/6/docs/technotes/guides/management/enhancements.html 2011/8/1 Francesco Chicchiriccòilgro...@apache.org: On 01/08/2011 16:26, Nathaniel, Alfred wrote: Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Not that I know, so +1 for me to move to 1.6. Regards.
Re: [C3] Java version 1.6
Hi all guys!!! My question is instead: is there any advantage we can get by targeting Cocoon to Java6? Is there any specific Java6 APIs we need to improve [...] some of my favorite Java 6 features that Cocoon codebase could profit from: * Collections Framework Enhancements and ServiceLoader [1]: Cocoon source code makes large use of collections, thus usage of these features can improve quality and performance * Internationalization Enhancements [2]: especially now that we should start working on the new i18n transformer [3] * JMX [4] and Management [5] enhancements: will we ever put this great Cocoon 3 stuff in production? Last but not least, Cocoon 3 depends on many other frameworks and libraries that will eventually require Java 6 (and 7, soon) capabilities. Regards. That's a good list and some fine reasons to switch to Java 6. [...] C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Not that I know, so +1 for me to move to 1.6. We seem to have this discussion every few years. There's always people that can't upgrade. Personally I think it's time to do it and I wish we had done it long ago. With C3 in particular, people should have no dependencies in production since it is still officially Beta. Even if they do, they can stay on a previous version after all, if it is good enough to use at all why can't they stick with what they are using? Unless someone can come up with a reason not to I'd say it's time to start a vote. Peter Hunsberger
RE: [C3] Java version 1.6
Peter Hunsberger wrote: We seem to have this discussion every few years. There's always people that can't upgrade. Personally I think it's time to do it and I wish we had done it long ago. With C3 in particular, people should have no dependencies in production since it is still officially Beta. Even if they do, they can stay on a previous version after all, if it is good enough to use at all why can't they stick with what they are using? Unless someone can come up with a reason not to I'd say it's time to start a vote. True, we had the same discussion years ago to me C2.1 from J1.3 to J1.4. Apart from the improvements we get when using 1.6, my main point is that real 1.5 support is not achieved by using a 1.6 javac with -source=1.5 and -target=1.5. That happily compiles and generates 1.5 byte code containing calls to String.isEmpty. Only when you run that jar in a 1.5 JVM it will die with a method-not-found exception. Unless we have a good crowd of developers who voluntarily stick to 1.5 all the way, it is just wishful thinking that C3 is and remains 1.5 compatible. Even if that hypothetical poor guy exists who would love to use C3 but is stuck at Java5, I don't think we do him a favor. Better force them to go 1.6 than to have them chase the next odd String.isEmpty which leaked into the release. Hands up who is / is willing to run jdk1.5 for C3 development. NB Jenkins is setup with 1.6. Does infra support real 1.5 builds? Cheers, Alfred. The content of this e-mail is intended only for the confidential use of the person addressed. If you are not the intended recipient, please notify the sender and delete this e-mail immediately. Thank you.
[C3] Java version 1.6
Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Cheers, Alfred. The content of this e-mail is intended only for the confidential use of the person addressed. If you are not the intended recipient, please notify the sender and delete this e-mail immediately. Thank you.
Re: [C3] Java version 1.6
On 01/08/2011 16:26, Nathaniel, Alfred wrote: Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Not that I know, so +1 for me to move to 1.6. Regards. -- Francesco Chicchiriccò Apache Cocoon Committer and PMC Member http://people.apache.org/~ilgrosso/
Re: [C3] Java version 1.6
Hi all guys!!! My question is instead: is there any advantage we can get by targeting Cocoon to Java6? Is there any specific Java6 APIs we need to improve the existing codebase? If yes, please can you describe? TIA, all the best!!! Simo http://people.apache.org/~simonetripodi/ http://www.99soft.org/ 2011/8/1 Francesco Chicchiriccò ilgro...@apache.org: On 01/08/2011 16:26, Nathaniel, Alfred wrote: Hi all, C3 is still set to 1.5 as source and target version. Java5 is end of life since almost two years now. Is there any good reason not to go 1.6? Not that I know, so +1 for me to move to 1.6. Regards. -- Francesco Chicchiriccò Apache Cocoon Committer and PMC Member http://people.apache.org/~ilgrosso/