Ya hay algunas preguntas sobre administradores de dependencias aquí, pero me parece que son sobre sistemas de compilación, mientras que estoy buscando algo dirigido simplemente a simplificar el seguimiento y resolución de dependencias (y no estoy necesariamente interesado en aprender un nuevo sistema de compilación).Administrador de dependencias de código fuente para C++
Entonces, normalmente tenemos un proyecto y un código común con otro proyecto. Este código común está organizado como una biblioteca, así que cuando quiero obtener la última versión de código para un proyecto, también debería obtener todas las bibliotecas desde el control de origen. Para hacer esto, necesito una lista de dependencias. Luego, para construir el proyecto, puedo reutilizar esta lista también.
He mirado a Maven e Ivy, pero no estoy seguro de si serían apropiados para C++, ya que parecen bastante orientados a Java (aunque puede haber complementos para C++, no he encontrado gente recomendándolas).
Lo veo como una herramienta de GUI que produce una lista de dependencia estandarizada que luego puede ser analizada por diferentes scripts, etc. Sería bueno si pudiera integrarse con control de fuente (etiqueta, obtener una versión etiquetada con dependencias, etc.), pero eso es opcional
¿Tiene alguna sugerencia? Tal vez me estoy perdiendo algo, y por lo general se hace de otra manera sin necesidad de una herramienta de este tipo? Gracias.
@ 7vies: No conozco ninguna herramienta, la empresa para la que trabajo terminó su propio sistema (que ahora es mucho más allá del objetivo inicial), estoy realmente interesado en los enfoques libres existentes, si sólo para quizás recoger ideas :) –
@Matthieu: esa es una opción, pero preferiría personalizar una herramienta existente para nuestras necesidades –
Puede usar Maven con http://duns.github.com/maven-nar-plugin/ (C, C++, .so etc.). En función de eso, puede crear información de dependencia que le proporcione la lista del componente/módulo/lib del que depende un módulo para la compilación. Si los componentes han sido implementados de forma independiente por otros, puede usar otra herramienta de plugin (maven-versions-plugin http://mojo.codehaus.org/versions-maven-plugin/examples/display-dependency-updates.html) para ver si existe una versión más nueva de módulo, etc. Para que pueda actualizar sus dependencias. – khmarbaise