Mein Lieblingsfestival





Viele Menschen schreiben ein Make-Tool, so habe ich es nun auch getan, allerdings nicht ganz vollständig.
Mein Use-Case war es Pre-Build-Ereignisse in einen MSBuild-Bauprozess einzubauen. Dies konnte die Erzeugung einer kleinen Datei sein, der Aufruf des Typescript Compilers oder das Zusammenkopieren von Dateien.
Zuvor hatte ich eine Mischung aus MSBuild-Kommandos und Cake genutzt. Gerade Cake finde ich sehr schön, da es auf der C#-Sprache selbst aufsetzt.
Dass Cake bei jedem Kompilations-Vorgang erstmal das Cake-File kompiliert hatte, stört mich schon ein wenig, da je nach Rechner ein paar Sekunden verloren gehen.
Die Anforderungen an das neue Tool waren folgendermaßen. Insbesondere war es für mich wichtig, dass ich die Mächtigkeit von MSBuild nutzen kann, da ich nicht ‘yet another’ Tool schreiben wollte.
Kurz gesagt: https://github.com/mbrenn/BurnSystems.Make/blob/main/docs/design.adoc
Die Version 1.0.1 wurde eben veröffentlicht und unterstützt ein einfaches Executable.

Dieses liegt im .bsmake-Verzeichnis
Beim ersten Aufruf wird das File komplett kompiliert:

Beim zweiten Aufruf als gecachete Version wiedergenutzt:

Die Datei Primes.cs liegt dann im Projekt-Verzeichnis und wird vom Projekt-Kompilat dann verwendet.
Schnell und einfach.
Weitere Dokumentation unter: https://github.com/mbrenn/BurnSystems.Make/blob/main/docs/design.adoc
Es wird mal wieder dringend Zeit für eine Runde Dark Souls und habe auch mal wieder eine alte Karte gefunden, die ich gezeichnet hatte.
Interessant an der Karte ist, dass sie rein topologisch ist und nicht die genauen Koordinaten der Karte darlegt.
Sie schaut folgendermaßen aus. Dargestellt ist nur das erste Undead Asylum (ohne Rückkehr)…

Mal schauen ob ich mir die Zeit nehme eine solche Darstellung für die gesamte Karte aufzubauen… Es braucht schon ein wenig Zeit…
Leider musste ich den Server neu aufsetzen, da dieser doch sporadisch Probleme hatte und ich nicht ausschließen konnte, dass jemand sich unerlaubt Zugriff gestattet hat.
Daher nun eine neue Instanz und viel “moderner” als vorher… Soweit man diese ganze Dockerei als ‘modern’ anschaut.
Zumindest der Host selbst enthält nur Docker. Um die Weboberfläche kümmert sich Traefik, als Blog eine Apache-Instanz und MariaDB ebenfalls als eigenen Container.
Folgendes Bild wurde mir von Claude auf Basis meiner ‘compose.yaml’ erstellt:

War alles ein wenig frickelig, da es doch 100e Optionen zu beachten gibt, aber es scheint nun zu funktionieren.
Die Apache Instanz basiert auf einem Ubuntu Image zu dem ich die gesamten Apache und PHP-Module dazu installiert hatte. Das PHP-apache-Image selbst war mir etwas zu unsicher, da ich es nicht geschafft hatte die notwendigen PHP-Module auf Grund von Compile-Fehlern hinzuzufügen.
Was läuft, das läuft nun.