From 95e1cac06df0ca57422bd819c4675c4cb38f66f1 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sun, 31 May 2026 14:43:03 +0000 Subject: [PATCH] =?utf8?q?init-exercises.sh:=20technik-check-Verzeichnis?= =?utf8?q?=20in=20beiden=20Modi=20=C3=BCberspringen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- init-exercises.sh | 57 +++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 32 deletions(-) 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 -- 2.39.5