I agree with Dennis--modern dependency management is way more elegant and
less error-prone than classdepandjar.

-j


On Tue, Feb 11, 2014 at 6:35 PM, Dennis Reedy <dennis.re...@gmail.com>wrote:

>
>
> Sent from my iPhone
>
> > On Feb 11, 2014, at 8:22 PM, Greg Trasuk <tras...@stratuscom.com> wrote:
> >
> >
> > Those recommendations are more applicable to application services than
> those in the core River distribution.
>
> I disagree. River core services exhibit the same exact structure as
> application services, the only difference being that River services are
> produced by the River project.
>
> The referenced conventions mention Maven, but are applicable for other
> project/build tools, including Gradle.
>
> IMO, the most straight forward thing to do is to create a multi-module
> build that creates jars equivalent to the classdepandjar created jars.
>
> Regards
>
> Dennis
>
> > 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
> >
>

Reply via email to