Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any Maven like tool that works for many languages?

I'm trying to find a tool like Maven (standardized build & packaging, artifact repo, etc) that supports more than Java (and C/C++), specifically Python and .NET (C#) as well. Especially good dependency management is desired.

We're running a mixed shop of languages at our place, and the current homegrown python-based "über-buildsystem" should probably go away. Note that it doesn't attempt to do detailed builds, just handles dependencies between modules/projects, downloads compiled artifacts (a few hundred megs per library in the C++ case) and invokes msbuild/easy_install/etc on the existing .sln/.vcproj/etc files to get the real build done.

It works, but mostly because I built it and know what it can and cannot do, and I extend it when I need new stuff. It's not really helping the other developers getting in to it, and I feel more and more that we shouldn't focus on that. (Even though it's not that much work and there doesn't seem to be a compelling alternative.)

So:

  • Python's setuptools only seem to be for Python (and some c++ -> .pyd compilation).
  • Maven mostly does Java, and some C/C++, mostly for JNI.
  • For C/C++ there is... nothing? (qmake/cmake for building)
  • For .NET there are some stuffs, but do they work well outside Visual Studio and the MSFT toolchain?

Building another Maven (but with more flexible support) on top of Ant (using Beanshell mostly) is something I've done already. The current Python-stuff is an offshoot of that.

Update:

Ant+Ivy would require building quite a bit on top, as I indicated above, but it's probably a better foundation than what we have today, since we get more build tasks and an artifact repo out of the box. (See Maven Like dependency management for C++)

All help warmly appreciated!

like image 667
Macke Avatar asked Dec 07 '10 21:12

Macke


1 Answers

Try waf.

like image 185
Holger Hoffstätte Avatar answered Nov 16 '22 00:11

Holger Hoffstätte