From: Kai Moritz Date: Sun, 31 May 2026 14:43:03 +0000 (+0000) Subject: init-exercises.sh: technik-check-Verzeichnis in beiden Modi überspringen X-Git-Tag: springkafka/technik-check--2026-06-lvm~2 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=b0a1ce345e834c900d808e1273ecffd878b99fc8;p=demos%2Fkafka%2Ftraining init-exercises.sh: technik-check-Verzeichnis in beiden Modi überspringen Das eigene Verzeichnis (SCRIPT_DIR) wird weder von --maven noch von --gradle verändert -- es dient nur als Quelle für den Wrapper und muss für einen späteren Moduswechsel intakt bleiben. Co-Authored-By: Claude Sonnet 4.6 --- diff --git a/init-exercises.sh b/init-exercises.sh index 4df7deeb..2c1cdde7 100755 --- a/init-exercises.sh +++ b/init-exercises.sh @@ -1,8 +1,9 @@ #!/bin/bash # Initialisiert die mit copy.sh kopierten Übungsverzeichnisse für die Schulung. -# --maven (Standard): Entfernt Gradle-Artefakte aus allen Übungsverzeichnissen. +# --maven (Standard): Entfernt Gradle-Artefakte aus den Übungsverzeichnissen. # --gradle: Gradle-Wrapper verteilen und Maven-Artefakte entfernen. # Scheitert mit Fehler, wenn der Wrapper noch nicht bereit ist -- erst README-gradle.sh ausführen. +# Das eigene Verzeichnis (technik-check) wird in beiden Modi nicht verändert. # In beiden Modi werden Build-Ausgaben (target/, build/) und Caches (.gradle/) bereinigt. set -e @@ -56,23 +57,21 @@ if [ "$MODE" = "gradle" ]; then echo "Gradle-Version: $REQUIRED" while IFS= read -r dir; do - if [ "$dir" != "$SCRIPT_DIR" ]; then - marker="$dir/gradle/wrapper/.gradle-version" - if [ ! -f "$dir/gradle/wrapper/gradle-wrapper.jar" ] || \ - [ ! -f "$dir/gradle/wrapper/gradle-wrapper.properties" ] || \ - [ ! -f "$dir/gradlew" ] || \ - [ ! -f "$marker" ] || \ - [ "$(cat "$marker")" != "$REQUIRED" ]; then - mkdir -p "$dir/gradle/wrapper" - cp "$WRAPPER_JAR" "$dir/gradle/wrapper/gradle-wrapper.jar" - cp "$WRAPPER_PROPS" "$dir/gradle/wrapper/gradle-wrapper.properties" - cp "$SCRIPT_DIR/gradlew" "$dir/gradlew" - chmod +x "$dir/gradlew" - echo "$REQUIRED" > "$marker" - echo " Wrapper → $(basename "$(dirname "$dir")")/$(basename "$dir")" - fi + [ "$dir" = "$SCRIPT_DIR" ] && continue + marker="$dir/gradle/wrapper/.gradle-version" + if [ ! -f "$dir/gradle/wrapper/gradle-wrapper.jar" ] || \ + [ ! -f "$dir/gradle/wrapper/gradle-wrapper.properties" ] || \ + [ ! -f "$dir/gradlew" ] || \ + [ ! -f "$marker" ] || \ + [ "$(cat "$marker")" != "$REQUIRED" ]; then + mkdir -p "$dir/gradle/wrapper" + cp "$WRAPPER_JAR" "$dir/gradle/wrapper/gradle-wrapper.jar" + cp "$WRAPPER_PROPS" "$dir/gradle/wrapper/gradle-wrapper.properties" + cp "$SCRIPT_DIR/gradlew" "$dir/gradlew" + chmod +x "$dir/gradlew" + echo "$REQUIRED" > "$marker" + echo " Wrapper → $(basename "$(dirname "$dir")")/$(basename "$dir")" fi - for f in pom.xml .maven-dockerexclude; do [ -f "$dir/$f" ] && rm -v "$dir/$f" done @@ -83,21 +82,15 @@ if [ "$MODE" = "gradle" ]; then elif [ "$MODE" = "maven" ]; then while IFS= read -r dir; do - if [ "$dir" = "$SCRIPT_DIR" ]; then - # Nur heruntergeladene Artefakte entfernen; build.gradle/settings.gradle/gradlew/properties - # bleiben, damit README-gradle.sh nach einem Moduswechsel wieder funktioniert - rm -vf "$dir/gradle/wrapper/gradle-wrapper.jar" \ - "$dir/gradle/wrapper/.gradle-version" - else - rm -vf "$dir/build.gradle" \ - "$dir/settings.gradle" \ - "$dir/gradlew" \ - "$dir/gradle/wrapper/gradle-wrapper.jar" \ - "$dir/gradle/wrapper/gradle-wrapper.properties" \ - "$dir/gradle/wrapper/.gradle-version" - rmdir "$dir/gradle/wrapper" 2>/dev/null || true - rmdir "$dir/gradle" 2>/dev/null || true - fi + [ "$dir" = "$SCRIPT_DIR" ] && continue + rm -vf "$dir/build.gradle" \ + "$dir/settings.gradle" \ + "$dir/gradlew" \ + "$dir/gradle/wrapper/gradle-wrapper.jar" \ + "$dir/gradle/wrapper/gradle-wrapper.properties" \ + "$dir/gradle/wrapper/.gradle-version" + rmdir "$dir/gradle/wrapper" 2>/dev/null || true + rmdir "$dir/gradle" 2>/dev/null || true for d in .gradle target build; do [ -d "$dir/$d" ] && echo "removed: $dir/$d" && rm -rf "$dir/$d" || true done