Ich habe ein Go-Projekt, das verwendet rules_go
(Bazel) um das Projekt zu bauen. Ich benutze Gazelle generieren BUILD.bazel
Dateien. Wird es als Best-Practice betrachtet, das Generierte zu übernehmen BUILD.bazel
Dateien in Versionskontrolle? Oder ist es am besten, dies immer zu tun bazel run //:gazelle
beim neuen Checkout und wenn neue Dateien hinzugefügt wurden?
Antworten:
4 für die Antwort № 1Ja, es ist im Allgemeinen die beste Vorgehensweise, Builddateien aus mehreren Gründen festzuschreiben.
- Build-Dateien enthalten häufig Regeln, Kommentare und Anmerkungen, die nicht generiert werden. Beispielsweise müssen Sie möglicherweise ein schreiben
genrule
ersetzengo generate
. Oder Sie schreiben einen Test, der überprüft, ob die Copyright-Header in Ihren Quelldateien auf dem neuesten Stand sind. Oder Sie möchten die Sichtbarkeitsregeln für einige Ihrer Bibliotheken anpassen. - Wenn ein Repository von Ihrem Repository als Remote abhängig ist, ist es ratsam, Build-Dateien bereits einzuchecken.
- Im Allgemeinen ist es schön, Gazelle und ähnliche Tools nicht vor einem Build erneut ausführen zu müssen.