ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niklas Matthies <>
Subject Re: Best Practice for producing customised builds
Date Thu, 03 Feb 2011 17:04:22 GMT
On Thu 2011-02-03 at 16:30h, Jonathan Oulds wrote on ivy-user:
> On 03/02/2011 15:33, Niklas Matthies wrote:
>> How about you let BarPoC also depend on Bar [iface], so it gets its
>> Bar.h from Bar instead of duplicating it?
> Thank you for your reply.  If I understand you correctly you are  
> suggesting that instead of the follow dependencies...
> FooBarPoC -> Foo
> FooBarPoC -> BarPoC [impl]
> Foo -> Bar [iface]
> ... I use
> FooBarPoC -> Foo
> FooBarPoC -> BarPoC [impl]
> Foo -> BarPoC [iface] -> Bar [iface]

No, Foo can still get Bar.h directly from Bar, so no need to change
Foo. But I assume that BarPoC needs Bar.h for compiling and linking,
so the compile/build configuration of BarPoC could depend on Bar [iface]
to obtain Bar.h. I.e. something like:

FooBarPoC -> Foo [impl]
FooBarPoC -> BarPoC [impl]
Foo [build] -> Bar [iface]
BarPoC [build] -> Bar [iface]

I guess you'd like to express the fact that BarPoC.dll fulfills
Foo.exe's need for a DLL that implements Bar's interface. But Ivy
doesn't have that notion of matching implementations to interfaces.
Rather, in your use case it's the responsibility of FooBar/FooBarPoC's
ivy file to pick a matching implementation to go together with Foo.exe.

-- Niklas Matthies

View raw message