Archived

This forum has been archived. Please start a new discussion on GitHub.

IceEJ-1.1.0 with JDK 1.5.0?

Hi,

I'm in the process of adapting the icee.spec file for the new release of IceE 1.1.0. On OpenSUSE, JDK is available in version 1.4.2 a/o 1.5.0 (to be switched with "update-alternatives --config java(c)").

Although I'm not really familiar with any version-related issues, I would like to ask for the reason why "target" is explicitly required to be "1.1" in many of the build.xml files in IceEJ-1.1.0 (most prominently the top-most ant file, but also in several subdirectories of demo and test). Running "ant" in the IceEJ-1.1.0 directory results in the error message

[javac] Compiling 182 source files to /home/andreas/IceEJ-1.1.0/jdk/lib
[javac] javac: target release 1.1 conflicts with default source release 1.5

when JDK 1.5.0 is active.

It seems that (at least locally) I have two choices when building the RPM packages (Translator and C++ being unaffected, of course).

(1) After switching to JDK 1.4.2, "rpmbuild -ba icee.spec" runs to completion (after replacing version string "1.0.0" with "1.1.0" in the spec file).
(2a) When JDK 1.5.0 is active, I can apply a suitable IceEJ-1.1.0.patch file, which replaces the target version "1.1" with "1.5" in the relevant build.xml files. "rpmbuild" also completes its task successfully.
(2b) In order to use JDK 1.4.2 and 1.5.0 interchangeably (at least when building the RPM packages), I can apply a suitable IceEJ-1.1.0.patch file that simply removes all 'target="1.1"' entries.

Any comments (or even objections to my approach)?

Comments

  • We used the target attribute in IceE for Java in an attempt to make sure that the generated class files would run on all of our supported Java platforms. However, the 'target' attribute doesn't really work as expected and will be removed in future releases. In light of this, option (2b) is probably what you want for building RPM packages.
  • OK, I'll refine icee.spec accordingly and post an updated version ASAP together with the (temporary) patch.