#!/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
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
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