Re: Corba spec / IDL issues
+1, I think this is the best solution with the means at hand. Anders should be able to move forward with this next week: do the appropriate changes to the maven2 idlj plugin, and produce a complete patch for the necessary changes to the geronimo/corba-spec module. The maven plugin needs to somehow know if it should (or should not) generate skels and stubs. (corresponding to the JacORB idl compiler's -noskel and -nostub options). Suns idlj has similar options in -fclient, -fserver and -fall, etc. Kresten Krab Thorup [EMAIL PROTECTED] We do not inherit the Earth from our parents, we borrow it from our children. Saint Exupery On Dec 7, 2005, at 3:24 AM, Alan D. Cabrera wrote: Anders Hessellund Jensen wrote, On 12/6/2005 3:09 PM: Lars Kühne wrote: This question hasn't been addressed yet. I really don't see the point of maintaining our own copy either. Where did that copy originate - isn't it based on the OMG files anyway? I think the current files originate from the ORB in Trifork P4. Originally, OMG did not distribute the idl files for the spec (as far as i know). They used idl in the specification document, but no raw idl files. The OpenORB compiler supports local interfaces, and it is used to compile the OMG idl files in the OpenORB build, so that part could probably work. However the JacORB compiler is much more stable than the OpenORB compiler which has a *huge* amount of bugs, and one of those might become relevant for the test IDLs. I did a bit of experimentation with the OpenORB compiler, and it is also my impression that the JacORB compiler is more mature. I also don't think the OpenORB compiler would be able to compile the OMG idl files without modifying these significantly, or at least more than we would have to with the JacORB compiler. With the JacORB compiler I was able to compile the orb.idl and PortableServer.idl from OMG with only one minor addition. Ok, let's follow Dain's advice and run with the JacORB compiler. Regards, Alan smime.p7s Description: S/MIME cryptographic signature
Re: Corba spec / IDL issues
Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM: 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? I don't think that JacORB is properly licensed. Does anyone know if it's a problem using LGPL jars? The ideal solution is to implement and use our own. I wonder if we could use OpenORB. Lars? Regards, Alan
Re: Corba spec / IDL issues
On Dec 6, 2005, at 8:56 AM, Alan D. Cabrera wrote: Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM: 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? I don't think that JacORB is properly licensed. Does anyone know if it's a problem using LGPL jars? The ideal solution is to implement and use our own. I wonder if we could use OpenORB. Lars? Um, I was under the impression that using GPL compilers was ok. Does Apache httpd build using gcc? If we can use the JacORB idlj compiler today, I say we do and readdress this issue another day. -dain
Re: Corba spec / IDL issues
Alan D. Cabrera wrote: Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM: 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. This question hasn't been addressed yet. I really don't see the point of maintaining our own copy either. Where did that copy originate - isn't it based on the OMG files anyway? [...] 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? I don't think that JacORB is properly licensed. Does anyone know if it's a problem using LGPL jars? Many projects at Apache seem to use Checkstyle, which is also LGPL. So LGPL doesn't seem to be a problem for tools that are only used during the build (not redistributed and not stored on Apache servers). The ideal solution is to implement and use our own. Yes, it would be great to have an Apache-Licensed IDL compiler, but that would take time and take away momentum from the core ORB development. We could do that in parallel if there is any interest. I wonder if we could use OpenORB. Lars? The OpenORB compiler supports local interfaces, and it is used to compile the OMG idl files in the OpenORB build, so that part could probably work. However the JacORB compiler is much more stable than the OpenORB compiler which has a *huge* amount of bugs, and one of those might become relevant for the test IDLs. Regards, Lars
Re: Corba spec / IDL issues
Lars Kühne wrote: This question hasn't been addressed yet. I really don't see the point of maintaining our own copy either. Where did that copy originate - isn't it based on the OMG files anyway? I think the current files originate from the ORB in Trifork P4. Originally, OMG did not distribute the idl files for the spec (as far as i know). They used idl in the specification document, but no raw idl files. The OpenORB compiler supports local interfaces, and it is used to compile the OMG idl files in the OpenORB build, so that part could probably work. However the JacORB compiler is much more stable than the OpenORB compiler which has a *huge* amount of bugs, and one of those might become relevant for the test IDLs. I did a bit of experimentation with the OpenORB compiler, and it is also my impression that the JacORB compiler is more mature. I also don't think the OpenORB compiler would be able to compile the OMG idl files without modifying these significantly, or at least more than we would have to with the JacORB compiler. With the JacORB compiler I was able to compile the orb.idl and PortableServer.idl from OMG with only one minor addition.
Re: Corba spec / IDL issues
Anders Hessellund Jensen wrote, On 12/6/2005 3:09 PM: Lars Kühne wrote: This question hasn't been addressed yet. I really don't see the point of maintaining our own copy either. Where did that copy originate - isn't it based on the OMG files anyway? I think the current files originate from the ORB in Trifork P4. Originally, OMG did not distribute the idl files for the spec (as far as i know). They used idl in the specification document, but no raw idl files. The OpenORB compiler supports local interfaces, and it is used to compile the OMG idl files in the OpenORB build, so that part could probably work. However the JacORB compiler is much more stable than the OpenORB compiler which has a *huge* amount of bugs, and one of those might become relevant for the test IDLs. I did a bit of experimentation with the OpenORB compiler, and it is also my impression that the JacORB compiler is more mature. I also don't think the OpenORB compiler would be able to compile the OMG idl files without modifying these significantly, or at least more than we would have to with the JacORB compiler. With the JacORB compiler I was able to compile the orb.idl and PortableServer.idl from OMG with only one minor addition. Ok, let's follow Dain's advice and run with the JacORB compiler. Regards, Alan