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]
