An alle
CS++ Interessierten
Ich das Projekt überarbeitet und neu strukturiert. Das Projekt ist nun als pre-alpha Release im MainDev-Branch veröffentlicht.
CS++ ist nun als Startpunkt gedacht, um die Struktur zu zeigen. Es referenziert zwei Submodule, CSPP_Core und CSPP_DeviceBase. Alle anderen gewünschten Submodule muss der Entwickler selbst hinzufügen.
Nach dem Klonen des Projekt sitzt man auf dem Master-Branch. Als erstes sollte man auf den MainDev-Branch umschalten und danach die zwei Kommandos:
und danach
Code:
git submodule update
ausführen, um die referenzierten Submodule-Quellen zu holen. Sie werden in dem Ordner Packages/SubmoduleName abgelegt. Weitere Submodule können mit
Code:
git submodule add URL Path
hinzugefügt werden.
Zuletzt sollte man die Quellen der Submodule auf Nur-Lesen setzen.
Code:
chmod a-w -R SubodulePath
Das hat den Vorteil, dass man die Submodul-Quellen nicht unbeabsichtigt ändert. In diesem Zusammenhang sollte man in den LabVIEW Optionen in der Kategorie
Environment folgende Eigenschaften aktivieren:
- Treat read-only VIs as locked
- Do not save automatic changes
Nun kann man das
CS++.lvproj öffnen. Es gibt eine README.txt, in dem ein
Getting started enthalten ist, sowie externe Abhängigkeiten genannt sind.
Wenn jemand Änderungen an dem Projekt oder den Submodulen vornimmt, sollte er sich vorher einen eignen Branch anlegen. Alternativ kann er das Projekt auf Guthub klonen und damit arbeiten. Das gilt natürlich auch für die Submodule. Das erleichtert das Versenden und bearbeiten eines
Pull-Requests. Der
Git-Workflow für dieses Projekt muss noch genauer definiert werden. Ich denke
dieses Dokument ist ein guter Ansatz, der von meinen Kollegen in ihrem Projekt erzwungen wird. Für das
CS++-Projekt müssen natürlich noch die LabVIEW spezifischen Details berücksichtigt werden.
Wenn eigene Projekte konkret begonnen werden, sollte man auch mit einem eignen LabVIEW Projekt in einem eigenen neuen Git-Repository beginnen und die notwendigen
CS++-Submodule manuell hinzufügen. Damit ist jeder Entwickler frei, die Struktur gemäß der eigenen projektspezifischen Anforderungen zu organisieren und weitere Bibliotheken hinzuzufügen, die nicht notwendig mit
CS++ zu tun haben.
Als nächtes wird nun auch die Dokumentation in dem zugehörigen Github-Wiki vervollständigt.
Kritik und konstruktive Anregungen sind selbstverständlich erwünscht. Bug-Reports und Feature-Requests sollten mittels Github-Issue-Tracker eingebracht werden.
Gruß Holger