2010-12-07 17 views
11

Estoy tratando de encontrar una herramienta como Maven (paquete de construcción estandarizado &, repositorio de artefactos, etc.) que admita más que Java (y C/C++), específicamente Python y .NET (C#) también. Se desea una gestión de dependencia especialmente buena.¿Hay alguna herramienta similar a Maven que funcione para muchos idiomas?

Estamos ejecutando una tienda mixta de idiomas en nuestro lugar, y el actual "über-buildsystem" basado en python debería desaparecer. Tenga en cuenta que no intenta hacer compilaciones detalladas, solo maneja dependencias entre módulos/proyectos, descarga artefactos compilados (algunos cientos de megas por biblioteca en el caso de C++) e invoca msbuild/easy_install/etc en el .sln/.vcproj existente./etc archivos para obtener la construcción real hecho.

Funciona, pero sobre todo porque lo construí y sé lo que puede y no puede hacer, y lo extiendo cuando necesito algo nuevo. Realmente no está ayudando a los otros desarrolladores a involucrarse, y siento cada vez más que no deberíamos enfocarnos en eso. (A pesar de que no es que mucho trabajo y no parece ser una alternativa convincente.)

Así:

  • setuptools de Python sólo parecen ser para Python (y algunos C++ ->. compilación pyd).
  • Maven hace principalmente Java, y algo de C/C++, principalmente para JNI.
  • Para C/C++ hay ... ¿nada? (qmake/cmake para construir)
  • Para .NET hay algunas cosas, pero ¿funcionan bien fuera de Visual Studio y de la cadena de herramientas de MSFT?

Construir otro Maven (pero con soporte más flexible) encima de Ant (usando principalmente Beanshell) es algo que ya he hecho. El material actual de Python es una consecuencia de eso.

Actualización:

Ant + Ivy requeriría la construcción de un poco en la parte superior, como he indicado anteriormente, pero probablemente es una base mejor que lo que tenemos hoy en día, ya que tenemos más construir las tareas y un artefacto Repo fuera de la caja. (Consulte Maven Like dependency management for C++)

¡Toda la ayuda calurosamente apreciada!

+0

Esta es una muy buena pregunta. Estoy buscando herramientas que también puedan utilizar un repositorio de artefactos. ¿Tienes algunas actualizaciones ahora? –

+0

@SteinwayWu: No. Creo que la mejor manera es Ant/Ivy, ya que puedes hacer tus propias tareas allí y usar Ivy como un sistema genérico de artefactos mgmt. Todavía estamos ejecutando mi sistema python con un dir estático http-servido para repositorio de artefactos, ya que solo almacenamos (compilados de C++) librerías de terceros allí en este momento. – Macke

+0

He descubierto que el último CMake puede soportar algo así como un repositorio local. Es compatible con CMake/CPack y su funcionalidad de importación/exportación. Es posible que desee consultarlos en cmake.org para obtener la información más reciente. Voy a probarlo para la construcción de mi proyecto ATS. –

Respuesta

1

Probar waf.

+0

aseado. Esto se ve muy similar a las cosas basadas en Python que estoy usando en este momento. Definitivamente voy a intentar esto. – Macke

+0

Waf tiene un aspecto razonablemente útil, pero tiene un nivel bastante bajo, y no admite artefactos repo por lo que pude encontrar. Hm. – Macke

Cuestiones relacionadas