From b3dca4bebe2084d6f05b4396aba5fab74ba3bfe9 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 29 May 2026 23:59:00 +0000 Subject: [PATCH] CLAUDE.md: Skript-Tabelle aktualisiert, TGZ-Struktur dokumentiert Co-Authored-By: Claude Sonnet 4.6 --- .claude/settings.local.json | 11 ++++++++++- CLAUDE.md | 26 ++++++++++++++------------ 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index b5a43d2f..9b002444 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -25,7 +25,16 @@ "Bash(curl -fL \"https://raw.githubusercontent.com/gradle/gradle/v9.4.1/gradle/wrapper/gradle-wrapper.jar\" -o gradle/wrapper/gradle-wrapper.jar)", "Bash(curl -fL \"https://raw.githubusercontent.com/gradle/gradle/v9.4.1/gradlew\" -o gradlew)", "Bash(chmod +x gradlew)", - "Bash(git ls-files *)" + "Bash(git ls-files *)", + "Bash(./gradlew --version)", + "Bash(chmod +x build.sh)", + "Bash(git mv *)", + "Bash(chmod +x branches.sh)", + "Bash(git check-ignore *)", + "Bash(git config *)", + "Bash(git restore *)", + "Bash(chmod +x patch-nexus.sh)", + "Bash(chmod +x diff.sh)" ] } } diff --git a/CLAUDE.md b/CLAUDE.md index 647a0534..7813fb78 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -199,24 +199,26 @@ wobei `` mit `pom.xml`s `` (Maven) oder `settings.gradle ## Skripte im Scripting-Branch -Alle Skripte laden zuerst `BRANCHES.sh`, das die vollständige Branch-Liste und Eltern-Beziehungen definiert. +Alle Skripte laden zuerst `branches.sh`, das die vollständige Branch-Liste definiert. | Skript | Zweck | |--------|-------| -| `BRANCHES.sh` | Definiert alle Branch-Namen und ihre `__ROOT`-Eltern | -| `REBASE.sh` | Rebasiert jeden Branch auf seinen `__ROOT`-Eltern | -| `BUILD.sh` | Checkt jeden Branch aus und baut mit Maven + pusht Docker-Image | -| `GRADLE.sh` | Wie BUILD.sh, aber mit Gradle | -| `MAVEN.sh` | `mvn clean install` + `mvn docker:push` für alle Branches | -| `PUSH.sh` | Force-pusht alle Branches zu origin (erstellt vorher zeitgestempelte Backup-Tags) | -| `RESET.sh` | Setzt alle Branches auf `origin/` oder auf ein Tag-Präfix zurück (`./RESET.sh `) | -| `TAG.sh` | Taggt alle Branches als `--` und pusht Tags (`./TAG.sh `) | -| `DIFF.sh` | Diff jedes Branches gegen Remote (oder gegen ein Tag-Suffix, falls angegeben) | -| `COPY.sh` | Kopiert Branches in `../vorlagen`-, `../livecoding`-, `../spickzettel`-Verzeichnisse | -| `patch_gradle_for_si_nexus.sh` | Patcht `build.gradle`/`settings.gradle` für internen Nexus-Mirror | +| `branches.sh` | Definiert alle Branch-Namen und die Iterationsliste `$BRANCHES` | +| `push.sh` | Force-pusht alle Branches zu origin (erstellt vorher zeitgestempelte Backup-Tags) | +| `reset.sh` | Setzt alle Branches auf `origin/` oder auf ein Tag-Präfix zurück (`./reset.sh `) | +| `diff.sh` | Diff jedes Branches: gegen Remote (kein Arg), gegen Tag-Suffix (1 Arg) oder zwischen zwei Tags (2 Args) | +| `build.sh` | Baut alle Branches (Maven + Gradle); mit `--publish` auch Docker-Images veröffentlichen | +| `copy.sh` | Kopiert Branches in `../vorlagen`-, `../livecoding`-, `../spickzettel`-Verzeichnisse; mit `--nexus-url=` Gradle-Setups für Nexus patchen | +| `patch-nexus.sh` | Patcht `build.gradle`, `settings.gradle` und optional `gradle-wrapper.properties` für internen Nexus-Mirror | Nach Massenoperationen immer zu `scripting` zurückkehren — Skripte führen am Ende `git checkout scripting` aus. +### TGZ-Verzeichnisstruktur + +Branch-Namen bilden auch die Verzeichnisstruktur im verteilten TGZ ab: Der Branch `springkafka/technik-check--vorlage` wird als `springkafka/technik-check/` extrahiert. Von dort ist `../..` das Trainings-Wurzelverzeichnis. Das nutzt `bootstrap-gradle.sh` mit `--distribute`, um Gradle-Wrapper-Dateien in alle Geschwister-Übungsverzeichnisse zu kopieren. + +**Sonderfall `copy.sh`**: `springkafka/technik-check--vorlage` wird nach `vorlagen/grundlagen/technik-check/` kopiert (nicht `vorlagen/springkafka/`), da der Technik-Check thematisch zu den Grundlagen-Vorlagen gehört. + ## Einen neuen Übungs-Branch hinzufügen Diese beiden Stellen müssen immer gemeinsam aktualisiert werden — sie halten unterschiedliche Informationen: -- 2.39.5