-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sonja Krause-Harder wrote:
On Thu, Sep 14, 2006 at 11:02:30PM +0200, Manfred Tremmel wrote:
For your own code, just use -source 1.4 -target 1.4 Right, but when SUSE itselve doesn't do this, I will not be able to start a delivered tomcat, Eclipse, with 1.4.2 and all the libs (my /usr/share/java directory is full of jar files which are part of the SUSE distribution) wouldn't be useable with gcj or Sun's java 1.4.2.
If we manage to deliver openSUSE on all relevant platforms with an 1.5 (compatible) java, I actually wouldn't mind that the jars are incompatible with 1.4.2. 1.5 has been around for a while, 1.6 is about to come out, and I don't think we should wait with the move to the admittedly incompatible 1.5 language features until Sun decides to drop support for 1.4.2 altogether.
However (big however!) I have also to care about the platforms for which no Sun java exists, so I am sceptical about the switch as well. But the only way to find out what will really break is to start building the stuff with java 1.5 on the platforms where it is available.
Yeah, well, there's no substantial point in building 1.5 bytecode if the source code doesn't use features from JSE 5 (generics, annotations, autoboxing). Almost every Java OSS project I know of tries hard to be compliant with 1.4 and sometimes even 1.3 (e.g. even Spring Framework 2.0 works with 1.3, and god knows it's a hell of a cool framework with tons of features). The annoyance wrt packaging is that you have to know whether to pass - -source 1.4 -target 1.4 or not, but the minimum JRE major version is always documented, for each project. Most Java OSS projects still only use 1.4 features in their source code. The push towards JSE 1.5 comes mostly through EJB3/JPA (that requires JSE/JDK 1.5). Generally speaking, wide-spread adoption of new JVM/JDK major versions is very slow though, mostly because of EJB container vendors (e.g. IBM just released a 1.5 capable Websphere a few months ago) and, well, you can't just replace all those production servers easily ;)
My hope is to get a *open* java for a *open*SUSE. I don't think Sun's java will be open in near future, it's a process starting with the next version, but will take a while, and maybe the wind changes inbetween. So I hope, gcj + classpath could replace Sun java, so we shouldn't build walls creating with getting incompatible jar-files.
That's a different can of worms ;-) While Sun java is a black box to us, we can (within tight resource and also knowledge constraints on my part) fix gcj/gij/classpath so that it can deal with 1.5-compiled jars. (I'm actually not even sure that it plainly doesn't work, but I'll have to check first before making any statements here.) And then there
As long as the source code doesn't use features from 1.5, it will work great (given the current caveats of GNU Classpath, e.g. Swing support not being complete). As an example, Tomcat 5.5 still runs with 1.4 (needs a few additional jars though). "Fixing gcj/classpath so that they can deal with 1.5-compiled jars" would mean at the very least adding generics, annotations and autoboxing bytecode support into gcj (the compiler), as well as kaffe, sablevm or cocoavm (the runtime(s)). The point about the incompatibility is really the bytecode (obviously): the new features of 1.5 come with new bytecode instructions, and those are not supported by 1.4 JVMs - unless using retroweaver (http://retroweaver.sourceforge.net/), but I can't comment on that, never tried it myself.
are other free jvms which we might want to check out. Any input on them would be greatly appreciated, btw.
I can put you in contact with Dalibor Topic (Kaffe lead), Mark Wielaard (GNU Classpath lead) and possibly others in that realm, I've got good contacts with them (FOSDEM) - besides the fact that they are really nice people. I'm sure they'd be interested in hearing about that ;) IMHO the "problem" with GCJ, GNU Classpath, Kaffe, CacaoVM, SableVM etc.. is that they are highly interdependent and we'd need to release updates at regular intervals, especially for GNU Classpath, at least in the Build Service. Then we would be able to build more and more packages with GCJ/GNU Classpath instead of using the Sun javac, as a lot of progress is being made with every GNU Classpath release. cheers - -- -o) Pascal Bleser http://linux01.gwdg.de/~pbleser/ /\\ <pascal.bleser@skynet.be> <guru@unixtech.be> _\_v The more things change, the more they stay insane. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFFCdYfr3NMWliFcXcRAhPyAJ9d68CoJGAN1jN3aD7TCkFOxts4vgCdFcFP uMyRbmCZSLFEtMYaYT2QSYg= =54XJ -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org