lsa-planer
LSA-Planer Professional – Planungssoftware für Lichtsignalanlagen nach RiLSA 2015 und § 45 StVO. EUPL-1.2.
| 1 | #!/bin/sh |
| 2 | # Vor jedem Commit die Schnellstufe. Sie faengt ab, was sich sonst erst beim |
| 3 | # Anwender zeigt: falsch formatierter Quelltext, Typfehler, schwebende Zusagen, |
| 4 | # gebrochene Tests. |
| 5 | # |
| 6 | # WIE LANGE SIE BRAUCHT, STEHT NICHT HIER. Vor der Fassung 5.16.0 stand hier die |
| 7 | # Laufzeit desselben Befehls ein zweites Mal ("etwa zwanzig Sekunden"), und sie |
| 8 | # war um das Vierfache daneben. Zwei Stellen fuer eine Messung sind eine Stelle |
| 9 | # zu viel: Wer die eine nachmisst, zieht die andere nicht mit. |
| 10 | # |
| 11 | # Geprueft wird dabei der Arbeitsbaum, nicht der bereitgestellte Stand: Alle |
| 12 | # vier Stufen lesen die Dateien so, wie sie auf der Platte liegen, keine liest |
| 13 | # den Bereitstellungsbereich. Wer nur einen Teil bereitstellt (git add -p, |
| 14 | # git commit <pfad>), erfaehrt hier also nichts ueber den entstehenden Commit - |
| 15 | # der Lauf kann gruen sein, waehrend der Commit rot ist, und umgekehrt. Diesen |
| 16 | # Stand in einen Wegwerf-Arbeitsbaum zu schreiben und dort zu pruefen, waere |
| 17 | # genauer, verlangt aber je Commit ein neues Verzeichnis samt node_modules. |
| 18 | # Was das kostet, ist nicht gemessen; es faellt aber bei JEDEM Commit an, und |
| 19 | # ein Haken, der zu lange braucht, wird umgangen - dann prueft gar nichts mehr. |
| 20 | # |
| 21 | # Bewusst NICHT die Vollstufe: Sie baut zusaetzlich den Auslieferungsstand und |
| 22 | # startet Electron in einem echten Fenster - beides je Commit. Sie gehoert |
| 23 | # vor eine Veroeffentlichung (npm run gate). |
| 24 | # |
| 25 | # Eingerichtet mit: git config core.hooksPath .githooks |
| 26 | # |
| 27 | # Dieser Befehl gehoert einmal in JEDE Arbeitskopie. Er landet in .git/config |
| 28 | # und damit ausserhalb des Baumes; git clone, git worktree add und ein frisches |
| 29 | # Auschecken fuehren ihn nicht mit. Seit Fassung 5.12.0 setzt ihn das |
| 30 | # prepare-Skript in package.json bei jedem npm install; von Hand faellig ist er |
| 31 | # nur noch dort, wo kein npm install laeuft oder wo git dabei fehlschlaegt. |
| 32 | # Solange er in einer Arbeitskopie fehlt, findet Git diese Datei nicht: Dort |
| 33 | # geht jeder Commit ungeprueft durch - ohne --no-verify und ohne Meldung. |
| 34 | # |
| 35 | # Wer hier mit --no-verify vorbeigeht, umgeht genau die Pruefung, die den |
| 36 | # Fehler gefunden haette. Das ist keine Abkuerzung, das ist eine Wette. |
| 37 | set -e |
| 38 | npm run gate:schnell |