> So how do I define these dependencies if I am myself the author of such an 
> artifact, that has different dependencies dependent on the used functionality?

At the first level, you can specify what is compile, runtime and test.
That'll help filter out.

There isn't any way to classify based on functionality. That's very
error prone...
Consider you have XmlConfigurator that requires stax in your list of
dependencies. You add another class that uses stax, but it is required
for some other piece of functionality. Your library still compiles,
because the stax dependency is there, and the tests succeed.
Meanwhile, another application just broke because a dependency is
missing.

If your library provides discreet pieces of functionality that are
completely isolated from the rest of the code, so much so that it has
its own dependencies, they should probably be in a separate library.

I know people don't like splitting up libraries for distribution
purposes, but with Maven that argument is negated... and you should
still be able to build a monolith JAR that has all those dependencies
and all the classes for simple distribution too (we definitely aim to
provide that functionality for the final release).

Hope this answers your question... I was counting the days since
transitive dependencies were released before people started to realise
just how many dependencies they are actually getting out of some
libraries :) At least they are being shown up in the build now, rather
than a class cast exception somewhere down the track.

I've filed a JIRA issue for what has been planned for later.

Cheers,
Brett

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to