One of the nice things about Ivy is that it works with your current build 
mechanism. You don't have to redo everything from scratch. I see the power of 
Maven. However, converting 100 Ant projects into Maven instead of using Ivy is 
asking for trouble. 

The main issue is that there doesn't seem to be a C share object repository 
that Java has. Changing to Maven or Gradle wouldn't solve that problem, yet it 
also means completely rewriting your whole build mechanism. 

There is either a C/C++ tool that provides access to a worldwide C share object 
repository, or there isn't. I don't know how Java as a language compares to 
C/C++. I know many C-Heads who turn up their noses at the very mention of Java 
(It's not a real language unless you can accidentally overwrite a buffer!). 

However Java is way ahead on build tools, and programming environment. 
Continuous Integration is practically non-existent in C-World. How can it be 
when it can take hours and dozens of systems to build an application?  The C++ 
IDE world has no equivalent to Eclipse (unless you count Eclipse). And, the 
concept of dependency management doesn't seem to exist. 

The best I can imagine is using a combination of Ant and Ivy to download via 
<ivy:retrieve> the shared objects from a munged Nexus/Artifactory server, and 
tying the whole build process together with Makefiles. I've seen it work 
although it seems a bit Rube Goldbergish. (This causes the bird to peck, 
turning on the fan, causing the sailboat to float away, and starting the 
download of the required C Library from the Nexus Repo…). After all, the main 
thing about Maven and Ivy is transitive dependencies. Is there a Makefile to 
pom.xml/ivy.xml mechanism?

It's been a while since I've worked in the C/C++ world. Maybe there is some 
native tool that can do what Ivy and Maven does. If there is, use that. There's 
a certain power with standards, even if you don't fully agree with them. 

--
David Weintraub
da...@weintraub.name

On Dec 7, 2012, at 1:59 AM, Marcel Overdijk <marceloverd...@gmail.com> wrote:

> As we are also looking for alternatives that are a better fit, we are also
> considering Gradle.
> Gradle also has an experimental C++ plugin:
> http://gradle.org/docs/current/userguide/cpp.html
> Something like this in theory it would mean you can use Gradle for both
> dependency resolving and building.
> 
> I also found a couple of Maven plugins for C/C++ which might also be
> interesting:
> http://mojo.codehaus.org/maven-native/native-maven-plugin/usage.html
> http://java.freehep.org/freehep-nar-plugin/narDependencies.html

Reply via email to