On Wed, Jun 30, 2010 at 12:57 AM, Antonio Petrelli
<[email protected]> wrote:
> Ok you convinced me, but I have one last point to debate.
>
> 2010/6/29 Nathan Bubna <[email protected]>:
>> On Tue, Jun 29, 2010 at 8:04 AM, Antonio Petrelli
>> <[email protected]> wrote:
>>> With Maven I can create different modules, so dependencies are not
>>> optional, but you have to select the correct module you want.
>>
>> No.  Users should not have to select a different build of Velocity for
>> different logging purposes.  That's totally overkill.  If Maven can't
>> understand dependencies that are
>> required-for-compilation-but-optional-at-runtime, then it will never
>> work as our build tool.
>
> I think I did not explain well. I would like to create some more modules:
> velocity-engine-log4j
> velocity-engine-servlet
> etc.
> These modules depend on velocity-engine, but contain the
> implementation of LogChute depending on the log framework they want to
> use.

So, if i wanted to use the servlet log, i would have to download and
use both a velocity-engine jar and a velocity-engine-servlet jar?

> If we still want to build an "uberjar" containing all the modules in
> one jar, we can do it easily with a plugin (though it is considered
> bad practice by Maven purists [like me :-D]). OTOH, if you use Maven,
> adding a dependency is better since your dependency hierarchy is
> clear.

i'm more concerned about our users than Maven purists.  when someone
wants to use Velocity, i would rather they were presented with a
minimum of options initially and only find the the others as they dig
deeper.  it feels rather complex enough that our download page has
velocity.jar and velocity-dep.jar and the various subprojects.  Adding
a bunch of different jars that contain only a single LogChute
implementation seems like it could be a source of confusion and
inconvenience.  is it worth that complexity just to have a "clear"
dependency hierarchy?

>>> And with Maven adding a dependency is really easy, don't think as you
>>> are working with Ant.
>>
>> It is debatable whether that is a useful feature. :)
>
> Yes it is! I think it is the best feature of Maven and you can control
> them easily with various plugins (dependency report, going offline to
> download dependencies in one shot, checking new versions).
> The problem is keeping modules with the minimal amount of optional
> packages, because they cause various problems with transitive
> dependencies.

optional packages?  so *can* Maven acknowledge that a dependency is
required for compilation but optional at runtime?  i've been operating
under the (mis)conception that it could not.  what sort of transitive
dependency troubles does it cause?

> Antonio
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to