This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch maven_wrapper
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/maven_wrapper by this push:
     new c2f61f413 [Improvement] mavenWrapper improvement
c2f61f413 is described below

commit c2f61f413e7d8d0d1eff06b1fbd28c2df470a007
Author: benjobs <[email protected]>
AuthorDate: Sat Dec 2 12:15:38 2023 +0800

    [Improvement] mavenWrapper improvement
---
 .../src/main/assembly/bin/mvnw                     | 129 ++++++++++++---------
 1 file changed, 76 insertions(+), 53 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/assembly/bin/mvnw 
b/streampark-console/streampark-console-service/src/main/assembly/bin/mvnw
index 66df28542..d5a26d254 100755
--- a/streampark-console/streampark-console-service/src/main/assembly/bin/mvnw
+++ b/streampark-console/streampark-console-service/src/main/assembly/bin/mvnw
@@ -188,64 +188,87 @@ log "$MAVEN_PROJECTBASEDIR"
 # This allows using the maven wrapper in projects that prohibit checking in 
binary data.
 
##########################################################################################
 wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
+javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperHelper.java"
+javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperHelper.class"
+wrapperProperties="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+# For Cygwin, switch paths to Windows format before running javac
+if $cygwin; then
+  javaSource=$(cygpath --path --windows "$javaSource")
+  javaClass=$(cygpath --path --windows "$javaClass")
+fi
+
+if [ ! -e "$javaSource" ]; then
+  error "ERROR: $javaSource not exists."
+  exit 1
+fi
+
+if [ ! -e "$javaClass" ]; then
+  log " - Compiling $javaClass starting ..."
+  ("$JAVA_HOME/bin/javac" "$javaSource")
+fi
+
 if [ -r "$wrapperJarPath" ]; then
-    log "Found $wrapperJarPath"
-else
-    log "Couldn't find $wrapperJarPath, downloading it ..."
+  log "Found $wrapperJarPath"
+  log "Check found $wrapperJarPath starting"
+  ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperHelper "verify" 
"$wrapperJarPath" "$wrapperProperties")
+  if [ $? -eq 1 ]; then
+    echo "WARN: Check found $wrapperJarPath invalided."
+    rm -f $wrapperJarPath
+  fi
+fi
 
-    if [ -n "$MVNW_REPOURL" ]; then
-      
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+if [ ! -e "$wrapperJarPath" ]; then
+  log " - downloading wrapperJar ..."
+  if [ -n "$MVNW_REPOURL" ]; then
+    
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+  else
+    
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar";
+  fi
+  while IFS="=" read -r key value; do
+    # Remove '\r' from value to allow usage on windows as IFS does not 
consider '\r' as a separator ( considers space, tab, new line ('\n'), and 
custom '=' )
+    safeValue=$(echo "$value" | tr -d '\r')
+    case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
+    esac
+  done < $wrapperProperties
+  log "Downloading from: $wrapperUrl"
+
+  if $cygwin; then
+    wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+  fi
+
+  if command -v wget > /dev/null; then
+    log "Found wget ... using wget"
+    [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
+    if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+      wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
     else
-      
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar";
+      wget $QUIET --http-user="$MVNW_USERNAME" 
--http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f 
"$wrapperJarPath"
     fi
-    while IFS="=" read -r key value; do
-      # Remove '\r' from value to allow usage on windows as IFS does not 
consider '\r' as a separator ( considers space, tab, new line ('\n'), and 
custom '=' )
-      safeValue=$(echo "$value" | tr -d '\r')
-      case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
-      esac
-    done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
-    log "Downloading from: $wrapperUrl"
-
-    if $cygwin; then
-      wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
-    fi
-
-    if command -v wget > /dev/null; then
-        log "Found wget ... using wget"
-        [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f 
"$wrapperJarPath"
-        else
-            wget $QUIET --http-user="$MVNW_USERNAME" 
--http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f 
"$wrapperJarPath"
-        fi
-    elif command -v curl > /dev/null; then
-        log "Found curl ... using curl"
-        [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f 
"$wrapperJarPath"
-        else
-            curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o 
"$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
-        fi
+  elif command -v curl > /dev/null; then
+    log "Found curl ... using curl"
+    [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
+    if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+      curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f 
"$wrapperJarPath"
     else
-        log "Falling back to using Java to download"
-        
javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
-        
javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
-        # For Cygwin, switch paths to Windows format before running javac
-        if $cygwin; then
-          javaSource=$(cygpath --path --windows "$javaSource")
-          javaClass=$(cygpath --path --windows "$javaClass")
-        fi
-        if [ -e "$javaSource" ]; then
-            if [ ! -e "$javaClass" ]; then
-                log " - Compiling MavenWrapperDownloader.java ..."
-                ("$JAVA_HOME/bin/javac" "$javaSource")
-            fi
-            if [ -e "$javaClass" ]; then
-                log " - Running MavenWrapperDownloader.java ..."
-                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader 
"$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
-            fi
-        fi
+      curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" 
"$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
     fi
+  else
+    log "Falling back to using Java to download"
+    log " - Running MavenWrapperHelper.java ..."
+    ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperHelper "download" 
"$wrapperUrl" "$wrapperJarPath")
+    if [ $? -ne 0 ]; then
+      rm -f "$wrapperJarPath"
+      echo "ERROR: download wrapperJar by Java failed, please retry"
+      exit 1;
+    fi
+  fi
+
+  log "Check $wrapperJarPath."
+  ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperHelper "verify" 
"$wrapperJarPath" "$wrapperProperties")
+  if [ $? -eq 1 ]; then
+    echo "ERROR: Check $wrapperJarPath invalided, please retry"
+    exit 1
+  fi
 fi
 
##########################################################################################
 # End of extension
@@ -256,7 +279,7 @@ wrapperSha256Sum=""
 while IFS="=" read -r key value; do
   case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
   esac
-done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+done < $wrapperProperties
 if [ -n "$wrapperSha256Sum" ]; then
   wrapperSha256Result=false
   if command -v sha256sum > /dev/null; then

Reply via email to