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

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

commit 831c41e7c9662d4f1dfc8f98f4454fa62bec4197
Author: benjobs <[email protected]>
AuthorDate: Tue Jun 11 20:19:54 2024 +0800

    [Improve] minor improvement
---
 .../streampark/console/base/util/BashJavaUtils.java    | 17 +++++++++++++++++
 streampark.sh                                          | 18 ++++++++++++------
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/BashJavaUtils.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/BashJavaUtils.java
index 53492b436..999167fde 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/BashJavaUtils.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/BashJavaUtils.java
@@ -26,8 +26,14 @@ import org.apache.commons.io.output.NullOutputStream;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintStream;
 import java.net.Socket;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
 import java.util.Arrays;
 import java.util.Map;
 
@@ -110,6 +116,17 @@ public class BashJavaUtils {
           System.exit(1);
         }
         break;
+      case "--download":
+        try {
+          URL url = new URL(actionArgs[0]);
+          Path path = Paths.get(actionArgs[1]).toAbsolutePath().normalize();
+          try (InputStream inStream = url.openStream()) {
+            Files.copy(inStream, path, StandardCopyOption.REPLACE_EXISTING);
+          }
+        } catch (Exception e) {
+          System.exit(1);
+        }
+        break;
       default:
         break;
     }
diff --git a/streampark.sh b/streampark.sh
index 0b7e7d312..05187ca42 100755
--- a/streampark.sh
+++ b/streampark.sh
@@ -171,25 +171,30 @@ 
SP_NAME="apache-streampark_2.12-${SP_VERSION}-incubating-bin"
 SP_TAR="${SP_NAME}.tar.gz"
 
SP_URL="https://archive.apache.org/dist/incubator/streampark/${SP_VERSION}/${SP_TAR}";
 SP_HOME="${WORK_DIR}"/"${SP_NAME}"
+SP_PATH="${WORK_DIR}"/"${SP_TAR}"
 SP_CONFIG="${SP_HOME}/conf/config.yaml"
 
 download() {
   local url=$1
   local name=$2
+  local path=$3
   if command -v wget > /dev/null; then
-     wget "$url" || rm -f "$name"
+     wget "$url" -O "$path" || rm -f "$path"
      # shellcheck disable=SC2181
      if [[ $? -ne 0 ]]; then
-        echo_r "download $name failed. url: $url"
+        echo_r "download $name failed."
         exit 1
      fi
   elif command -v curl > /dev/null; then
-     curl "$url" -f -L || rm -f "$name"
+     curl -o "$path" "$url" -f -L || rm -f "$path"
      # shellcheck disable=SC2181
      if [[ $? -ne 0 ]]; then
-       echo_r "download $name failed. url: $url"
+       echo_r "download $name failed."
        exit 1
      fi
+  else
+    echo_r "wget and curl command not found, please install them first."
+    exit 1
   fi
 }
 
@@ -198,7 +203,7 @@ 
BASH_UTIL="org.apache.streampark.console.base.util.BashJavaUtils"
 # 1). download streampark.
 echo_g "download streampark..."
 
-# download "$SP_URL" "$SP_TAR"
+download "$SP_URL" "$SP_TAR" "$SP_PATH"
 tar -xvf "${SP_TAR}" >/dev/null 2>&1 \
     && rm -r "${SP_TAR}" \
     && mkdir "${SP_HOME}"/flink \
@@ -225,11 +230,12 @@ else
   
FLINK_URL="https://archive.apache.org/dist/flink/${FLINK_NAME}/${FLINK_NAME}-bin-scala_2.12.tgz";
   FLINK_TAR="${FLINK_NAME}-bin-scala_2.12.tgz"
   FLINK_HOME="${WORK_DIR}"/${SP_NAME}/flink/${FLINK_NAME}
+  FLINK_PATH="${WORK_DIR}"/"${FLINK_TAR}"
   FLINK_CONF="${FLINK_HOME}/conf/config.yaml"
 
   # 1) download flink
   echo_g "download flink..."
-  download "$FLINK_URL" "$FLINK_TAR"
+  download "$FLINK_URL" "$FLINK_TAR" "$FLINK_PATH"
   tar -xvf "${FLINK_TAR}" >/dev/null 2>&1 \
     && rm -r "${FLINK_TAR}" \
     && mv "$FLINK_NAME" "${WORK_DIR}"/"${SP_NAME}"/flink

Reply via email to