ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Castrianni <Shawn.Castria...@halliburton.com>
Subject RE: configuration help
Date Tue, 14 Apr 2009 23:39:41 GMT
I agree with you about the client server split into separate modules.  However, I just used
client/server as an example and is not my actual scenario.  My scenario is too hard to explain
so I picked something that people already understood.  Thanks for the quick response, though.

---
Shawn Castrianni

-----Original Message-----
From: Mitch Gitman [mailto:mgitman@gmail.com] 
Sent: Tuesday, April 14, 2009 6:15 PM
To: ivy-user@ant.apache.org
Subject: Re: configuration help

Shawn, I know this is not the answer you're looking for, and I would be
curious to see a more "technical" answer than I'm giving, but if I were
tackling your problem, I would actually create separate Ivy modules for
client and server. client-vs.-server becomes a more fundamental
splitting-off point than platform.

This may not apply to your code base, but I know that, typically when
dealing with client and server code, one of the classic mistakes developers
make is to munge them all together into one (Eclipse) project whereby the
client gets exposed to all kindsa stuff it doesn't need where that extra
infrastructure is only there for the server. Sure, this could be negotiated
via Ivy confs. But it becomes much easier conceptually to have a separate
client project (Ivy module) and server project that together depend on a
parent project (Ivy module) that defines the interface/contract.

To reiterate, I'm talking about generic client/server divisions, such as
with Web services, and this may not at all reflect your particular
situation.

On Tue, Apr 14, 2009 at 3:35 PM, Shawn Castrianni <
Shawn.Castrianni@halliburton.com> wrote:

> I currently have lots of ivy modules (with native code) setup using
> configurations as a way to subset the artifacts for the different platforms
> I support: win32, win64, linux32, linux64, and solaris.  Then all of my
> dependency declarations use "*->@" so that resolving win32 conf of module A
> will get win32 conf of module B, win64 conf of module A will get win64 conf
> of module B, etc.  This works great.
>
> However, my trouble is that I would like to further subset my modules in a
> different way other than platform.  Something like: client and server.  This
> subsetting is a completely different axis then subsetting by platform so I
> need both at the same time.  In other words, I need something like:  win32
> client artifacts, linux64 server artifacts, etc.  I essentially need to
> specify the intersection of two configuration names and have the artifacts
> that only exist in both configurations get resolved.
>
> Is this possible?  I would think this might be a popular enhancement for
> those using ivy for native code modules.
>
>
> Without this feature, I have to declare 5 (number of platforms) * 2 (number
> of distribution types) = 10 configurations:
>
> win32-client
> win32-server
> win64-client
> win64-server
> linux32-client
> linux32-server
> linux64-client
> linux64-server
> solaris-client
> solaris-server
>
> Imagine the headache if I had more than 5 platforms and more than 2
> distribution types.
>
> ---
> Shawn Castrianni
>
> ----------------------------------------------------------------------
> This e-mail, including any attached files, may contain confidential and
> privileged information for the sole use of the intended recipient.  Any
> review, use, distribution, or disclosure by others is strictly prohibited.
>  If you are not the intended recipient (or authorized to receive information
> for the intended recipient), please contact the sender by reply e-mail and
> delete all copies of this message.
>
Mime
View raw message