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 <marceloverd...@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.


Reply via email to