Those recommendations are more applicable to application services than those in the core River distribution. FWIW, however, the core services are already mostly structured this way - downloadable classes are all in *-dl.jar files (e.g. reggie-dl.jar, mahalo-dl.jar, etc). The only difference is that the core API classes like Registrar, JavaSpaces, etc, are in jsk-platform.jar.
Now, I think most of us would agree that the ‘classdepandjar’ mechanism is a little clunky, so restructuring the build may help with that. I have been using Maven to build applications (e.g. the samples at https://github.com/trasukg/river-container-examples). The only thing I find slightly irritating is that you end up with a proliferation of Maven modules, which equates to a proliferation of Netbeans or Eclipse projects. With Maven, that’s unavoidable, because Maven really really wants to have only one artifact produced per module. So ‘hello-api’ requires its own module, as does ‘hello-service’ (for the implementation code), and ‘hello-module’ (the packaging for the container). ‘hello-dl’ would be another, if there were a smart proxy. That’s also not specific to Jini projects; you get the same thing in JEE6 projects - separate projects for the JPA module, EJB module, EJB API, Web module, etc. Other build tools may be happier with multiple artifacts from one project. Ant certainly is, but of course you drift into the complexities of the current build with ‘classDepAndJar’. I think the first step might be to split out the infrastructure services like Reggie, Mahalo, and Outrigger into separate deliverables, leaving the contents of jsk-platform in the core module. We’ll have to do some thinking about how to structure the integration testing for that. Cheers, Greg Trasuk On Feb 11, 2014, at 6:52 PM, Rafał Krupiński <rafal.krupin...@sorcersoft.com> wrote: > Dnia 2014-02-11, wto o godzinie 15:59 +0100, Simon IJskes - QCG pisze: >> On 11-02-14 11:35, Peter wrote: >> >>> We will need a new build system for java 8, this looks like a step in that >>> direction. In reality we need to adopt the build conventions used by Rio. >> >> What are these? Maven? > > Not necessarily Maven, although Dennis mentions it. > http://www.rio-project.org/conventions.html#Project_Modules > > It works very well for our River/Rio services. > > Regards > Rafał Krupiński >