ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niklas Matthies <>
Subject Re: Provided conf
Date Mon, 24 Aug 2009 15:45:28 GMT
On Mon 2009-08-24 at 11:16h, Jonathan Roberts wrote on ivy-user:
> I just don't really get how this is done in a nice way.  Is there a
> way to say get me all the "compile" dependencies, except the ones
> are that are in the "provided" conf?  

At my place we normally use the following basic configurations:

    common  (private)
    api     (public)  extends common
    runtime (public)  extends common
    compile (private) extends api, runtime

"Api" are the API dependencies of the module, i.e. what client modules
need to compile against the module.

"Runtime" dependencies are what the implementation of the module needs
at runtime.

"Common" is for convenience when declaring artifacts that belong both
to api and runtime (which is the common case).

"Compile" is what is needed to compile the module itself.

Dependencies that are provided by the runtime environment are either
placed into the "api" or into the "compile" configuration, depending
on whether the module's API or just its implementation depends on

Packaging uses the "runtime" configuration, hence it doesn't include
such "provided" dependencies. There is no explicit "provided" conf,
because there is no need for it. (And in our case there would need to
be two different "provided" to make the distinction between API vs.
implementation dependencies).

-- Niklas Matthies

View raw message