Hi all,

Currently, we need to compile idl files in at least two cases.

- The CORBA spec is based on idl.
- Interfaces for some test files is also defined in idl.

Currently everything is compiled with Suns idlj. This is not satisfactory because of a couple of problems:

- Requires Sun JDK. This means that people using non-Sun JDK's can't compile the idl files.

- No support for local interfaces. The ORB uses some interfaces that are used internally only. These should be declared local in idl, so that the resulting java interfaces do not extend Remote.

Support for local interfaces is very important. Without this, the classes used in the internal implementation of the ORB throws a lot of unneccessary exceptions, which complicates the code that uses the generated classes.

Optimally, we would be able to take the idl files directly from OMG. They have published a set of idl files, which can be downloaded here: http://www.omg.org/cgi-bin/doc?formal/02-07-02 . These files generally correspond to our own files in geronimo-spec-corba. Using the files provided from OMG would be advantageous, since that would guarantee the correctness and completeness of the IDL.

For the Trifork ORB we used the JacORB idl compiler. This compiler is apparently able to compile the idl files from OMG with only very minor modifications to these. The compiler is under the GPL.

Therefore, i propose we use the JacORB idl compiler instead of Suns idlj. This would solve both aforementioned issues.

To use it, we would have to bundle it and get it uploaded to the maven repos, and we would have to modify the idlj plugin to support using this compiler. Neither should take a huge amount of work. I would be happy to take care of the plugin modifications required.

Note that the compiler is only used in the build process. It will not be bundled with the finished product or anything like that. We are not going to have any GPL-code in the geronimo repository by using this compiler.

Any comments on this issue? Should i move on to integrating the JacORB compiler with the idlj plugin?

/Anders

Reply via email to