Quellcode-Abhängigkeitsmanager für C ++

9

Es gibt bereits einige Fragen zu Abhängigkeitsverwaltern hier, aber es scheint mir, dass sie hauptsächlich Build-Systeme sind, während ich nach etwas suche, das nur darauf abzielt, Abhängigkeitsverfolgung und -auflösung zu vereinfachen (und Ich bin nicht unbedingt daran interessiert, ein neues Build-System zu lernen).

Normalerweise haben wir also ein Projekt und einen gemeinsamen Code mit einem anderen Projekt. Dieser allgemeine Code ist als Bibliothek organisiert. Wenn ich also die neueste Codeversion für ein Projekt erhalten möchte, sollte ich auch alle Bibliotheken aus der Quellcodeverwaltung holen. Um dies zu tun, brauche ich eine Liste von Abhängigkeiten. Um das Projekt zu erstellen, kann ich diese Liste auch wiederverwenden.

Ich habe Maven und Ivy angeschaut, aber ich bin mir nicht sicher, ob sie für C ++ geeignet wären, da sie ziemlich stark auf Java ausgerichtet sind (obwohl es Plug-ins für C ++ gibt) habe ich keine Leute gefunden empfehle sie).

Ich sehe es als ein GUI-Werkzeug, das eine standardisierte Abhängigkeitsliste erzeugt, die dann von verschiedenen Skripten analysiert werden kann. Es wäre schön, wenn es in die Quellcodeverwaltung integrieren könnte (Tag, getaggte Version mit Abhängigkeiten usw.), aber das ist es optional.

Hättest du irgendwelche Vorschläge? Vielleicht fehlt mir gerade etwas, und normalerweise ist es anders, ohne dass ein solches Werkzeug benötigt wird? Danke.

    
Roman L 04.01.2011, 16:10
quelle

2 Antworten

2

Sie können Maven in Bezug auf C ++ auf zwei Arten verwenden. Zunächst können Sie es für das Abhängigkeitsmanagement von Komponenten untereinander verwenden. Zweitens können Sie Maven-nar-plugin verwenden, um gemeinsam genutzte Bibliotheken und Komponententests in Verbindung mit der Boost-Bibliothek zu erstellen (meine Erfahrung). Am Ende können Sie RPMs (maven-rpm-plugin) daraus erstellen, um ein geeignetes Installationsmedium zu haben. Außerdem habe ich die Installation für CI-Umgebung über Maven erstellt (RPMs für Hudson, Nexus-Installation in RPMs).

    
khmarbaise 04.01.2011, 19:50
quelle
1

Ich bin mir nicht sicher, ob Sie ein Versionskontrollsystem (VCS) als Build-Tool sehen würden, aber Mercurial und Git unterstützen Sub-Repositories. In Ihrem Fall wäre ein Unter-Repository Ihre Abhängigkeiten:

Verwenden Sie Ihr VCS, um die Build-Ergebnisse zu archivieren, die sowieso für die Wartung benötigt werden, und verweisen Sie auf die Bibliotheken und Header-Dateien in Ihrer Build-Umgebung.

Wenn Sie nach einer Referenz suchen, werfen Sie einen Blick auf Ссылка .

    
Raphael Bossek 04.01.2011 17:52
quelle

Tags und Links