Now that I gave it some thought, I actually like the idea of a system modular 
by default, but including cayenne-all.jar on top of that. It has none of the 
drawbacks of our old “synthetic” cayenne-server and cayenne-client. More 
practically, turns out that cleanly splitting the core and server classes is 
much more effort than I am ready to undertake now. So we ended up with these 
modules:

 cayenne-di.jar 
 cayenne-server.jar => cayenne-di
 cayenne-client.jar => cayenne-di, cayenne-server

I guess I’ll leave it at that until a later time when we can cut smaller 
modules out of cayenne-server.

Andrus


On Nov 17, 2013, at 12:49 AM, Andrus Adamchik <[email protected]> wrote:
> On Nov 17, 2013, at 12:27 AM, Adrian A. <[email protected]> wrote:
> 
>>> 1. Monolithic cayenne.jar for regular apps, for ROP clients, for 
>>> CayenneModeler
>>> 2. Partial modularity - Client/server split between the modules, with 
>>> separate DI and backend-indepdendent “core” :
>>> ...
>>> Anyways, these are our options… Feel free to comment, while I continue my 
>>> refactoring.
>> What about offering both? The modules, but also a "cayenne-all.jar"
>> (or simply "cayenne.jar") ?
>> 
>> 
>> Adrian
> 
> This will take us back to aggregation of multiple modules into one. It was 
> not a pretty picture, so now I am *hoping* we can align the source modules 
> with the binaries that we release. However this can be an option for 
> non-maven users I guess.
> 
> A.

Reply via email to