ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: Ivy for C++ source modules
Date Fri, 18 Apr 2008 23:01:54 GMT
On Fri, Apr 18, 2008 at 4:10 PM, <Matthias.Albert@sew-eurodrive.de> wrote:

> After evaluating Ivy in order to manage modules in a C++ project, I
> couldn't find a replacement for our makefile-based dependency manager,
> possibly because I don't see the last simple missing links.
>
> We have a collection of reusable modules written in C++. These are
> combined with application code and compiled and linked for different target
> systems.
>
> Each module is under version control in a Microsoft Visual SourceSafe
> database.
>
> A target system makefile contains a variable that contains a list of
> module names with a version string, like:
> MODULES = ModuleA-1.0 ModuleB-1.1 ModuleC-0.9
> Before compiling tha target system, the makefile analyses this string list
> and downloads the complete source code of each module with the specified
> version (-> the revision label in SourceSafe) from the SourceSafe database
> and puts it in a cache directory. From each module source code, a library is
> built and all is linked together. So, I need to describe multiple artifacts
> per module.
>
> These are my open questions:
>
> 1. Is it possible to write a resolver for the Microsoft SourceSafe VCS?
> Are there any examples to follow?

I guess it's possible. A good example to follow IMO is the ivy-svn resolver
which already use a SCM to store artifacts:
 http://www.audioscrobbler.net/development/ivysvn/

The ant SourceSafe tasks may also be a good example to see how to invoke
sourcesafe from java.

2. Is it possible to specify a module with a fixed list of C++-Source files
> and ALL header files?
> This could look like:
> ...
> <publications>
>    <artifact name="src/ClassA" ext="cpp"/>
>    <artifact name="src/ClassB" ext="cpp"/>
>    <artifact include="src/**/*" ext="h"/>          <======= all C++ header
> files
> </publications>
>
> This means: An artifact represents a fileset, not a single file.
> Is this possible?

No, this is not possible. There's an open issue to support directories, your
request is pretty similar, you can vote for it, and comment about your need.

The workaround we suggest is to zip the files in a single zip artifact. Then
you can use triggers to automatically unzip the files once resolved. Or you
can just use the unzip ant task once Ivy has done the dependency resolving
job.

Xavier

>
>
> Thank you in advance.
> Matthias Albert
>
>
> SEW-EURODRIVE GmbH & Co KG
> Kommanditgesellschaft, Sitz: Bruchsal, RG Mannheim HRA 230970
> Komplementärin: SEW-EURODRIVE Verwaltungs-GmbH, Sitz: Bruchsal, RG
> Mannheim HRB 230207
>
> Gesellschafter und Geschäftsführer: Rainer Blickle, Jürgen Blickle
> Geschäftsführer: Johann Soder, Hans Sondermann, Bernd P. Uckrow
>
>
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message