ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neil Miller <neil.g.miller...@gmail.com>
Subject Re: Ivy in C/C++ environment
Date Fri, 07 Dec 2012 15:30:03 GMT
Ivy isn't really built just for Java, its system of dependencies and 
artifacts are content agnostic. The community is pretty Java-focused 
and, it's true, there are some built-in features that are Java-centric, 
such as Maven integration, and those make it easy to work in a Java 
environment, but it's not limited to that.

What you will lack, in a C/C++ environment, is an existing repository to 
work from and get dependency data. This may or may not be a big deal 
depending on how many of your dependencies are external.

What you'll need:
- You own local repository (highly recommended in any case). We actually 
run two, one for internally produced artifacts, and one for third-party 
modules. A simple chained-resolver takes care of getting dependencies 
from both.
- Dependency artifacts and meta-data.
- Integrate ant into your build

You shouldn't need a custom resolver.

As you build up dependency metadata, you may want to consider 
contributing it back to a project like Ivy Roundup 
<http://code.google.com/p/ivyroundup/> it would be great to have common 
pool of modules for C/C++.

-n

On 12/6/12 12:06 PM, David Weintraub wrote:
> Ivy is built for Java and its jars. By default, Ivy uses the Maven worldwide repository
system to search for jars. It also is built for Ant integration.
>
> However, you could emulate this structure if you use your own Maven/Ivy style repository
such as Nexus or Artifactory. You'll have to figure out a naming convention thats similar
to Ivy's and Maven's (organisation/groupID, name/artifactId, revision/version), and disconnect
your Nexus/Artifactory repository from the rest of the world since if the artifact isn't in
your repository, you don't want to look in the Maven worldwide repository system.
>
> You could also build `build.xml` files for Ant just to download the needed library objects
(*.dll, *.o, *.so, , *.a, etc.) using <ivy:resolve>. There will be some work involved,
but I've seen people do this.
>
> However, there might be better tools. For example, BuildBoost: http://www.boost.org/boost-build2/index.html.
I never used it, but I've heard it talked about as a Maven for C++ projects.
>
> On Dec 6, 2012, at 10:15 AM, Marcel Overdijk <marceloverdijk@gmail.com> wrote:
>
>> I wonder if somebody has some pointers for using Ivy in a C/C++ environment.
>>
>> a) how is dependency management done (e.g. using custom resolver?)
>> b) how is building done (based on on de Ivy dependencies)
>>
>>
>> I'm not looking for a complete solution, just wat to start a discussion
>> about possibilities or perhaps best practices from people already having
>> this set up.
>>
>> Unfortunately I can't find and information in the docs. Ivy is especially
>> interesting as it is nog tight to Java dependency management.
>>
>>
>>
>>
>>
>> -- 
>> View this message in context: http://old.nabble.com/Ivy-in-C-C%2B%2B-environment-tp34767076p34767076.html
>> Sent from the ivy-user mailing list archive at Nabble.com.
>>


Mime
View raw message