As the Harmony Classlib grows, I think that being able to work on a single module (or some subset of the modules) will become the typical way of working for many (perhaps even most) contributors. So I think we need a plan to support this. I also think that forcing ourselves to support this mode of working sooner rather than later will help us keep from accidentally breaking the modularity in the current build/development process.
Oliver is currently looking at restructuring the native source to the appropriate modules/*/src/main/native directory. One question that comes out of this investigation is: where should the include files "live"? I think they belong with the module that provides the implementation defined by the declarations in the header. That is, zipsup.h is "owned" by archive, hythread.h is "owned" by thread (luni), etc. However, if the build was to refer to the header files within the modules then this breaks the modularity. So, for example, someone working on a single module would have to checkout all the dependent modules rather than just the one they wish to work on. So, perhaps, at build time we should copy the header files out of the owning module into a common include directory. All modules would then refer to the header file in the common include directory. This means we can then create a snapshot tar/zip of the common include directory which someone wishing to work on a single module could download to build against. This is not dissimilar to the current way in which you could build the java sources against a deploy/jre snapshot. For windows, the snapshot would also include the .lib files that are required to build for the run-time .dll files. What is this new snapshot? Well, Tim suggested that it was a little like the jdk but for Harmony development. So perhaps it should be called an hdk, Harmony Development Kit? Logically, in the same way that a jdk contains a jre, the hdk should contain the jdk (which will contain the jre). Thus, we'd have a hierarchy like: deploy/hdk deploy/hdk/jdk deploy/hdk/jdk/jre When we come to create snapshots/releases, it's easy to see how we'd create archives for the hdk, jdk, and jre. Unfortunately, though I think this solution is quite elegant, there are quite a few references to the "deploy/jre" path that would need to be fixed. However, I think this is something we should discuss and, if we decide it is the right thing to do, then we should take the hit and move things around now. What do you think? Regards, Mark. --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]