On Sep 29, 2006, at 9:43 AM, Rick McGuire wrote:
David Blevins wrote:
On Sep 29, 2006, at 3:01 AM, Rick McGuire wrote:
Since I need to redo the packaging for the Yoko ORB support I've
been working on, this is a good time to ask the question. In the
process of creating the Yoko support, I copied what was done with
the sunorb and created a subpackage of org.openejb.corba to
contain the yoko adapters. This gave the tree packages of
org.openejb.corba.yoko and org.openejb.corba.sunorb.
I like this. FYI, though s/org.openejb/org.apache.openejb/
Well, I was talking in the past tense :-) That change was this
morning's task.
Then, when I split these two out into separate modules so they
were built as separate units, I maintained those package names.
Is it legitimate to still use the org.openejb.corba parent
package (which is "owned" by the openejb-core module), or should
I create a new package structure for this? I was originally
thinking org.apache.openejb.orb.yoko and
org.apache.openejb.orb.sunorb, but having two different modules
share the same packaging is making me a little uneasy. Perhaps
org.apache.openejb.yoko.orb and org.apache.openejb.sun.orb would
be better choices. Anybody have any preferences, or should I
just keep what I was using originally?
Couple questions. Is there any shared code between
o.a.openejb.corba.yoko and o.a.openejb.corba.sunorb that would/
could go into o.a.openejb.corba? Is it possible to split
o.a.openejb.corba out into two (maybe three) modules?
There is no code sharing between the yoko code and the sunorb
code. This is essentially just bridge code that connects the ORB
independent code in org.apache.openejb.corba to the specific ORB.
The org.apache.openejb.corba package has a number of subpackages
that are also independent of the choice of ORBs.
modules/openejb-corba (if there's shared code)
modules/openejb-yoko
modules/openejb-sunorb
Right now, I have the yoko package and the sun package as separate
top-level repositories because of the build issues involved. The
Yoko package will build with any JVM (I've tested with Sun 1.4.2,
Sun 5.0, IBM 1.4.2, and IBM 5.0). The sunorb package can ONLY be
built with Sun 1.4.2, so I wanted it to be a separate checkout/
build. And because of these changes, the openejb2 tree can be
built with all of these JVMs too. If desired, the yoko code can
easily be merged into the openejb2 tree as a sub-module since it
will compile cleanly everywhere. The sunorb code needs to be kept
to one side because of the build conflicts.
Great. We could do
modules/openejb-corba
modules/openejb-yoko
modules/openejb-sunorb
.. and have openejb-sunorb disabled by default, enableable with a -D
flag of our choosing. I.e.
---pom.xml---
<modules>
<module>openejb-pkgen-builder</module>
<module>openejb-core</module>
<module>openejb-builder</module>
</modules>
<profiles>
<profile>
<id>sunorb</id>
<activation>
<property>
<name>sunorb</name>
</property>
</activation>
<modules>
<module>openejb-sunrob</module>
</modules>
</profile>
</profiles>
-------------
mvn clean install
(no sunorb built)
mvn clean install -Dsunorb=true
(includes the openejb-sunorb module)
I'm sure Jason Dillon can think of a way where it's enabled magically
based on what JDK you're using. He did it in geronimo specs. But
something like this at least meets the requirements.
-David
Rick
Thoughts?
-David