On Aug 28, 2008, at 2:00 PM, Andrey Razumovsky wrote:
> Also I agree with Ari about not having it as a runtime dependency, and
>> instead bundling it with the Modeler. There is a lot of value in
>> the core
>> library to stay lean. Maybe we can access it with reflection from
>> DbGenerator to prevent a compile dependency?
>
>
> We're talking about DbLoader here.
Yep, sorry my bad, I meant DbLoader.
> And of course we will not have
> any dependency from it, because usage of Inflectior is just an
> implementation of naming strategy interface. The question is about
> where to
> place this class - in core or in modeler. If we design everything
> for the
> modeler, then why DbLoader class itself is located in the core?
This is considered to be a part of Cayenne core API.
> Still, I agree that we can sacrifice this strategy to keep core
> library smaller and
> less dependent.
> So, I'm going to initiate uploading the library to main repo and
> include
> dependency to the modeler.
+1.
Actually we can follow precedents. See "Optional Runtime Dependencies"
here:
http://cayenne.apache.org/doc/jar-files-and-dependencies.html
It is listing jars that may be required by runtime if a user wants to
use a certain feature in a certain configuration. The way this is
handled in Maven is setting such a jar as a "compile" dependency of
"cayenne-jdk1.5-unpublished" module, but not the user-visible "cayenne-
server" module.
Moreover things like commons-dbcp are also set as compile Modeler
dependencies, achieving the same exact thing we are trying to do here.
Andrus
This archive was generated by hypermail 2.0.0 : Thu Aug 28 2008 - 07:17:20 EDT