]> juplo.de Git - demos/kafka/training/commitdiff
patch_gradle_for_si_nexus.sh → patch-nexus.sh (überarbeitet)
authorKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 29 May 2026 23:53:27 +0000 (23:53 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 29 May 2026 23:53:27 +0000 (23:53 +0000)
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 <noreply@anthropic.com>
patch-nexus.sh [new file with mode: 0755]
patch_gradle_for_si_nexus.sh [deleted file]

diff --git a/patch-nexus.sh b/patch-nexus.sh
new file mode 100755 (executable)
index 0000000..ce42c42
--- /dev/null
@@ -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 <nexus-maven-url> [--gradle-dist-url=<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") <nexus-maven-url> [--gradle-dist-url=<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" <<EOF
+  maven {
+      url '$NEXUS_URL'
+  }
+  maven {
+      name 'gradle plugins'
+      url 'https://plugins.gradle.org/m2/'
+  }
+EOF
+
+cat > "$TMP_PLUGIN_BLOCK" <<EOF
+pluginManagement {
+  repositories {
+    maven {
+      name 'Nexus-Internal Access'
+      url '$NEXUS_URL'
+    }
+  }
+}
+
+EOF
+
+echo "Bearbeite build.gradle-Dateien..."
+for file in */*/build.gradle; do
+  [ -f "$file" ] || continue
+  echo "  $file"
+  sed -i '/mavenCentral()/d' "$file"
+  if grep -q 'repositories *{' "$file"; then
+    awk -v insert="$(cat "$TMP_REPO_BLOCK")" '
+      BEGIN { added=0 }
+      /repositories[[:space:]]*{/ {
+        print
+        if (!added) { print insert; added=1; next }
+      }
+      { print }
+    ' "$file" > "$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 (executable)
index e2db21d..0000000
+++ /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" <<EOF
-  maven {
-      url '$NEXUS_URL'
-  }
-  maven {
-      name 'gradle plugins'
-      url 'https://plugins.gradle.org/m2/'
-  }
-EOF
-
-# pluginManagement { ... } Block
-cat > "$TMP_PLUGIN_BLOCK" <<EOF
-pluginManagement {
-  repositories {
-    maven {
-      name 'Nexus-Internal Access'
-      url '$NEXUS_URL'
-    }
-  }
-}
-
-EOF
-
-echo "🔧 Bearbeite build.gradle-Dateien..."
-
-for file in */*/build.gradle; do
-    echo "  → $file"
-
-    # Entferne mavenCentral()
-    sed -i '/mavenCentral()/d' "$file"
-
-    if grep -q 'repositories *{' "$file"; then
-        # Einfügen in bestehenden repositories-Block
-        awk -v insert="$(cat "$TMP_REPO_BLOCK")" '
-            BEGIN { added=0 }
-            /repositories[[:space:]]*{/ {
-                print
-                if (!added) {
-                    print insert
-                    added=1
-                    next
-                }
-            }
-            { print }
-        ' "$file" > "$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."
-