Closed senshi-x closed 5 years ago
Dann wohl doch ein neues Repo und mit Submodul arbeiten. Alternative wäre die verschiedenen Repos zusammen zu legen und mit einem Monorepo zu arbeiten.
Ich denke ein zentrales Repo für die Skripte ist am Besten. Dann kann zB auch die armake Version ganz einfach geupdatet werden
Eigenes Tools Repo wäre gut. Aber dann brauchen wir keine Submodules wie @Frozen-byte sagte.
Was aber unschön dabei wird: Es müssen dann im Metadata die Pfade wohin man die Repos ausgecheckt hat angegeben werden. Wenn man mal eben zum Testen woandershin auscheckt, muss man wieder die Pfade anpassen :(
Ein Monorepo hätte aber auch ein paar schicke Vorteile:
Da es sich aber um getrennte Projekte handelt (Mission, Client- und Servermod) halte ich ein Monorepo für unpassend. Das wird dann nur unnötig groß...
Wie geht das ohne Submodule @formtapez? :thinking:
Naja, wenn ein Scriptpaket "alles" bauen soll, dann wird es ja zentral gestartet und muss wissen wo die einzelnen Repos liegen. Die Notwendigkeit, das als Submodul in den einzelnen Repos einzubinden, ist damit nicht mehr gegeben.
Einmal ein paar Pfade zu konfigurieren stört gar nicht. Dann bleibt es auch mit jedem Workflow kompatibel. :)
Bin zwar auch kein großer Fan von Monster-Repos, aber würde auch die Multi-PRs obsolet machen (z.B. Beam, welches einen PR für Client- und Servermod braucht). Da sehe ich aber das Multi-PR trotzdem noch als kleineres Übel.
Die Build-Skripte sollten weiter zentralisiert werden. Ultimatives Ziel ist es, einen "One-Click-Rebuild" zu ermöglichen.
Dafür müssen folgende Schritte erfolgen:
Wichtig dabei ist, dass die Mission an zwei Ziele verschoben wird: Die gebaute PBO muss AFAIK in den Arma 3\MPMissions-Ordner, damit der Server sie auch starten kann. Zusätzlich sollte bei jedem "Build Mission"-Schritt der Missionsordner selbst (ungepackt) in einen metadata-Pfad in den Documents gespeichert werden, damit man auch per Editor direkt Zugriff darauf hat.
In der Konfig müssen also folgende Pfade angegeben werden:
All diese Tools sollten aus allen Repos gleichzeitig zu erreichen sein. Insofern müssen sie entweder überall identisch gespiegelt werden, oder wir richten vielleicht doch einfachheitshalber ein eigenes Tools-Repo ein, um dieses Hickhack zu vermeiden.
Bitte diskutieren.