From 9e180b934be182d28c135be1babafd4d725271e1 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 29 May 2026 23:53:27 +0000 Subject: [PATCH] =?utf8?q?patch=5Fgradle=5Ffor=5Fsi=5Fnexus.sh=20=E2=86=92?= =?utf8?q?=20patch-nexus.sh=20(=C3=BCberarbeitet)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Neu: Nexus-URL als Pflichtparameter statt hardcodiert; optionaler --gradle-dist-url für Gradle-Distributionen hinter Firewalls; patcht zusätzlich gradle-wrapper.properties. Emojis entfernt. Co-Authored-By: Claude Sonnet 4.6 --- patch-nexus.sh | 98 ++++++++++++++++++++++++++++++++++++ patch_gradle_for_si_nexus.sh | 81 ----------------------------- 2 files changed, 98 insertions(+), 81 deletions(-) create mode 100755 patch-nexus.sh delete mode 100755 patch_gradle_for_si_nexus.sh diff --git a/patch-nexus.sh b/patch-nexus.sh new file mode 100755 index 00000000..ce42c422 --- /dev/null +++ b/patch-nexus.sh @@ -0,0 +1,98 @@ +#!/bin/bash +set -e + +# Passt Gradle-Setups an einen internen Nexus-Mirror an. +# Aufruf (aus dem Zielverzeichnis, z.B. ../vorlagen/): +# +# patch-nexus.sh [--gradle-dist-url=] +# +# Ohne --gradle-dist-url bleibt gradle-wrapper.properties unverändert. +# Falls Gradle-Distributionen ebenfalls über Nexus bereitgestellt werden, +# muss dort ein "raw proxy"-Repository auf services.gradle.org/distributions/ +# eingerichtet sein. + +if [ "$1" = "" ]; then + echo "Aufruf: $(basename "$0") [--gradle-dist-url=]" + echo "" + echo "Beispiel:" + echo " $(basename "$0") https://nexus.example.com/repository/maven-public/" + echo " $(basename "$0") https://nexus.example.com/repository/maven-public/ \\" + echo " --gradle-dist-url=https://nexus.example.com/repository/gradle-distributions/" + exit 1 +fi + +NEXUS_URL="$1" +GRADLE_DIST_URL="" +for arg in "${@:2}"; do + case "$arg" in + --gradle-dist-url=*) GRADLE_DIST_URL="${arg#--gradle-dist-url=}" ;; + *) echo "Unbekannter Parameter: $arg"; exit 1 ;; + esac +done + +TMP_REPO_BLOCK=$(mktemp) +TMP_PLUGIN_BLOCK=$(mktemp) + +cat > "$TMP_REPO_BLOCK" < "$TMP_PLUGIN_BLOCK" < "$file.tmp" && mv "$file.tmp" "$file" + else + cat "$TMP_REPO_BLOCK" "$file" > "$file.tmp" && mv "$file.tmp" "$file" + fi +done + +echo "Bearbeite settings.gradle-Dateien..." +for file in */*/settings.gradle; do + [ -f "$file" ] || continue + echo " $file" + if ! grep -q 'pluginManagement' "$file"; then + cat "$TMP_PLUGIN_BLOCK" "$file" > "$file.tmp" && mv "$file.tmp" "$file" + else + echo " (pluginManagement bereits vorhanden -- uebersprungen)" + fi +done + +if [ "$GRADLE_DIST_URL" != "" ]; then + echo "Bearbeite gradle-wrapper.properties-Dateien..." + for file in */*/gradle/wrapper/gradle-wrapper.properties; do + [ -f "$file" ] || continue + echo " $file" + sed -i "s|distributionUrl=.*|distributionUrl=${GRADLE_DIST_URL}|" "$file" + done +fi + +rm -f "$TMP_REPO_BLOCK" "$TMP_PLUGIN_BLOCK" +echo "Fertig." diff --git a/patch_gradle_for_si_nexus.sh b/patch_gradle_for_si_nexus.sh deleted file mode 100755 index e2db21d1..00000000 --- a/patch_gradle_for_si_nexus.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash - -set -e - -# Konfiguration -NEXUS_URL="https://m2repo.system.local/content/groups/full/" - -# Temp-Dateien -TMP_REPO_BLOCK=$(mktemp) -TMP_PLUGIN_BLOCK=$(mktemp) - -# repositories { ... } Block -cat > "$TMP_REPO_BLOCK" < "$TMP_PLUGIN_BLOCK" < "$file.tmp" && mv -v "$file.tmp" "$file" - else - # Kein repositories-Block → Block am Anfang einfügen - cat "$TMP_REPO_BLOCK" "$file" > "$file.tmp" && mv -v "$file.tmp" "$file" - fi -done - -echo "🔧 Bearbeite settings.gradle-Dateien..." - -for file in */*/settings.gradle; do - echo " → $file" - - # Nur einfügen, wenn pluginManagement noch nicht enthalten - if ! grep -q 'pluginManagement' "$file"; then - cat "$TMP_PLUGIN_BLOCK" "$file" > "$file.tmp" && mv -v "$file.tmp" "$file" - else - echo " (pluginManagement bereits vorhanden – übersprungen)" - fi -done - -# Aufräumen -rm -f "$TMP_REPO_BLOCK" "$TMP_PLUGIN_BLOCK" - -echo "✅ Fertig. Alle Dateien angepasst." - -- 2.39.5