This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new cdef7485b [Improve] mvnw check maven-wrapper.jar improvement (#3372)
cdef7485b is described below
commit cdef7485ba822a53de77e9992d4dcc50aa34aff7
Author: benjobs <[email protected]>
AuthorDate: Thu Dec 7 14:17:07 2023 +0800
[Improve] mvnw check maven-wrapper.jar improvement (#3372)
* [Improve] mvnw check maven-wrapper.jar improvement
* [Improve] MavenWrapperHelper getFileMd5 method minor improvement
* [Improve] FE get dependency latest value improvement
---------
Co-authored-by: benjobs <[email protected]>
---
.mvn/wrapper/MavenWrapperHelper.java | 137 ++++++++++++---------
.mvn/wrapper/maven-wrapper.properties | 1 +
build.sh | 20 ---
mvnw | 129 +++++++++++--------
.../src/main/assembly/bin/mvnw | 129 +++++++++++--------
.../streampark/console/core/entity/Project.java | 27 ++--
.../src/views/flink/app/EditStreamPark.vue | 4 +-
.../src/views/flink/app/components/Dependency.vue | 5 +-
.../resource/upload/components/UploadDrawer.vue | 2 +-
9 files changed, 251 insertions(+), 203 deletions(-)
diff --git a/.mvn/wrapper/MavenWrapperHelper.java
b/.mvn/wrapper/MavenWrapperHelper.java
index da55d396e..428fa81ff 100644
--- a/.mvn/wrapper/MavenWrapperHelper.java
+++ b/.mvn/wrapper/MavenWrapperHelper.java
@@ -15,6 +15,8 @@
* limitations under the License.
*/
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Authenticator;
@@ -24,75 +26,98 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
+import java.security.MessageDigest;
import java.util.Arrays;
-import java.util.jar.JarFile;
+import java.util.Properties;
public final class MavenWrapperHelper {
- private static final String WRAPPER_VERSION = "3.2.0";
+ private static final String WRAPPER_VERSION = "3.2.0";
- private static final boolean VERBOSE =
Boolean.parseBoolean(System.getenv("MVNW_VERBOSE"));
+ private static final boolean VERBOSE =
Boolean.parseBoolean(System.getenv("MVNW_VERBOSE"));
- public static void main(String[] args) {
- String action = args[0].toLowerCase();
- String[] actionArgs = Arrays.copyOfRange(args, 1, args.length);
- switch (action) {
- case "download":
- log("Apache Maven Wrapper Downloader " + WRAPPER_VERSION);
- if (actionArgs.length != 2) {
- System.err.println(" - ERROR wrapperUrl or wrapperJarPath parameter
missing");
- System.exit(1);
+ public static void main(String[] args) throws Exception {
+ String action = args[0].toLowerCase();
+ String[] actionArgs = Arrays.copyOfRange(args, 1, args.length);
+ switch (action) {
+ case "download":
+ log("Apache Maven Wrapper Downloader " + WRAPPER_VERSION);
+ if (actionArgs.length != 2) {
+ System.err.println(" - ERROR wrapperUrl or wrapperJarPath
parameter missing");
+ System.exit(1);
+ }
+ try {
+ log(" - Downloader started");
+ final URL wrapperUrl = new URL(actionArgs[0]);
+ final String jarPath = actionArgs[1].replace("src/main",
""); // Sanitize path
+ final Path wrapperJarPath =
Paths.get(jarPath).toAbsolutePath().normalize();
+ downloadFileFromURL(wrapperUrl, wrapperJarPath);
+ log("Done");
+ } catch (IOException e) {
+ System.err.println("- Error downloading: " +
e.getMessage());
+ if (VERBOSE) {
+ e.printStackTrace();
+ }
+ System.exit(1);
+ }
+ break;
+ case "verify":
+ String wrapperJar = actionArgs[0];
+ String propertiesPath = actionArgs[1];
+ log("maven-wrapper file checking: " + wrapperJar);
+ Properties properties = new Properties();
+ properties.load(Files.newInputStream(new
File(propertiesPath).toPath()));
+ String wrapperMd5 = properties.getProperty("wrapperMd5");
+ if (wrapperMd5 == null) {
+ System.err.println("wrapperMd5 not in " + propertiesPath);
+ System.exit(1);
+ }
+ String fileMd5 = getFileMd5(wrapperJar);
+ System.exit(wrapperMd5.equals(fileMd5) ? 0 : 1);
+ default:
+ throw new UnsupportedOperationException("Unknown action \"" +
action + "\".");
}
- try {
- log(" - Downloader started");
- final URL wrapperUrl = new URL(actionArgs[0]);
- final String jarPath = actionArgs[1].replace("src/main", ""); //
Sanitize path
- final Path wrapperJarPath =
Paths.get(jarPath).toAbsolutePath().normalize();
- downloadFileFromURL(wrapperUrl, wrapperJarPath);
- log("Done");
- } catch (IOException e) {
- System.err.println("- Error downloading: " + e.getMessage());
- if (VERBOSE) {
- e.printStackTrace();
- }
- System.exit(1);
+ }
+
+ private static void downloadFileFromURL(URL wrapperUrl, Path
wrapperJarPath) throws IOException {
+ log(" - Downloading to: " + wrapperJarPath);
+ if (System.getenv("MVNW_USERNAME") != null &&
System.getenv("MVNW_PASSWORD") != null) {
+ final String username = System.getenv("MVNW_USERNAME");
+ final char[] password =
System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(
+ new Authenticator() {
+ @Override
+ protected PasswordAuthentication
getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
}
- break;
- case "verify":
- String wrapperJar = actionArgs[0];
- log("maven-wrapper file checking: " + wrapperJar);
- try (JarFile ignored = new JarFile(wrapperJar, true)) {
- System.exit(0);
- } catch (Exception e) {
- System.exit(1);
+ try (InputStream inStream = wrapperUrl.openStream()) {
+ Files.copy(inStream, wrapperJarPath,
StandardCopyOption.REPLACE_EXISTING);
}
- default:
- throw new UnsupportedOperationException("Unknown action \"" + action +
"\".");
+ log(" - Downloader complete");
}
- }
- private static void downloadFileFromURL(URL wrapperUrl, Path wrapperJarPath)
throws IOException {
- log(" - Downloading to: " + wrapperJarPath);
- if (System.getenv("MVNW_USERNAME") != null &&
System.getenv("MVNW_PASSWORD") != null) {
- final String username = System.getenv("MVNW_USERNAME");
- final char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
- Authenticator.setDefault(
- new Authenticator() {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
+ private static String getFileMd5(String path) throws Exception {
+ MessageDigest md5 = MessageDigest.getInstance("MD5");
+ try (FileInputStream inputStream = new FileInputStream(path)) {
+ byte[] buffer = new byte[1024];
+ int len;
+ while ((len = inputStream.read(buffer)) != -1) {
+ md5.update(buffer, 0, len);
}
- });
- }
- try (InputStream inStream = wrapperUrl.openStream()) {
- Files.copy(inStream, wrapperJarPath,
StandardCopyOption.REPLACE_EXISTING);
+ byte[] byteArray = md5.digest();
+ StringBuilder sb = new StringBuilder();
+ for (byte b : byteArray) {
+ sb.append(String.format("%02x", b));
+ }
+ return sb.toString();
+ }
}
- log(" - Downloader complete");
- }
- private static void log(String msg) {
- if (VERBOSE) {
- System.out.println(msg);
+ private static void log(String msg) {
+ if (VERBOSE) {
+ System.out.println(msg);
+ }
}
- }
}
diff --git a/.mvn/wrapper/maven-wrapper.properties
b/.mvn/wrapper/maven-wrapper.properties
index fde9af104..e42c9fef2 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -17,3 +17,4 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
+wrapperMd5=6058337c6ed4603858c3b72f754efa9b
diff --git a/build.sh b/build.sh
index cad35d8ee..853cea1ba 100755
--- a/build.sh
+++ b/build.sh
@@ -179,26 +179,6 @@ build() {
printf '\n'
echo_g """StreamPark project build successful!
dist: $(cd "$PRG_DIR" &>/dev/null && pwd)/dist\n"""
- else
- javaSource="$PRG_DIR/.mvn/wrapper/MavenWrapperHelper.java"
- javaClass="$PRG_DIR/.mvn/wrapper/MavenWrapperHelper.class"
- wrapperJarPath="$PRG_DIR/.mvn/wrapper/maven-wrapper.jar"
- # 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
- [ ! -e "$javaClass" ] && ("$JAVA_HOME/bin/javac" "$javaSource")
- if [ -e "$javaClass" ]; then
- ("$JAVA_HOME/bin/java" -cp "$PRG_DIR/.mvn/wrapper"
MavenWrapperHelper "verify" "$wrapperJarPath")
- if [ $? -eq 1 ]; then
- echo_r "Error: $wrapperJarPath is invalid. retry download it and
build project again..."
- rm -f $wrapperJarPath
- build
- fi
- fi
- fi
fi
else
echo_r "permission denied: $PRG_DIR/mvnw, please check."
diff --git a/mvnw b/mvnw
index 916dee8a3..9a7fa3704 100755
--- a/mvnw
+++ b/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 "$MAVEN_PROJECTBASEDIR/.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/MavenWrapperHelper.java"
- javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperHelper.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 MavenWrapperHelper.java ..."
- ("$JAVA_HOME/bin/javac" "$javaSource")
- fi
- if [ -e "$javaClass" ]; then
- log " - Running MavenWrapperHelper.java ..."
- ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperHelper
"download" "$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 "$MAVEN_PROJECTBASEDIR/.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 "$MAVEN_PROJECTBASEDIR/.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
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 916dee8a3..9a7fa3704 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 "$MAVEN_PROJECTBASEDIR/.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/MavenWrapperHelper.java"
- javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperHelper.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 MavenWrapperHelper.java ..."
- ("$JAVA_HOME/bin/javac" "$javaSource")
- fi
- if [ -e "$javaClass" ]; then
- log " - Running MavenWrapperHelper.java ..."
- ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperHelper
"download" "$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 "$MAVEN_PROJECTBASEDIR/.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 "$MAVEN_PROJECTBASEDIR/.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
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
index f4f6637a5..882d94f19 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
@@ -46,7 +46,6 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.jar.JarFile;
import java.util.stream.Collectors;
@Slf4j
@@ -187,24 +186,20 @@ public class Project implements Serializable {
@JsonIgnore
public String getMavenArgs() {
- String mvn = "mvn";
boolean windows = Utils.isWindows();
+ String mvn = windows ? "mvn.cmd" : "mvn";
+
+ String mavenHome = System.getenv("M2_HOME");
+ if (mavenHome == null) {
+ mavenHome = System.getenv("MAVEN_HOME");
+ }
+ if (mavenHome != null) {
+ mvn = mavenHome + "/bin/" + mvn;
+ }
+
try {
- if (windows) {
- CommandUtils.execute("mvn.cmd --version");
- } else {
- CommandUtils.execute("mvn --version");
- }
+ CommandUtils.execute(mvn + " --version");
} catch (Exception e) {
- File wrapperJar = new
File(WebUtils.getAppHome().concat("/.mvn/wrapper/maven-wrapper.jar"));
- if (wrapperJar.exists()) {
- try {
- JarFile jarFile = new JarFile(wrapperJar, true);
- jarFile.close();
- } catch (Exception ignored) {
- FileUtils.deleteQuietly(wrapperJar);
- }
- }
if (windows) {
mvn = WebUtils.getAppHome().concat("/bin/mvnw.cmd");
} else {
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
index 8857d1ad9..6231939a6 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
@@ -176,10 +176,10 @@
}
}
- function handleSubmitSQL(values: Recordable) {
+ async function handleSubmitSQL(values: Recordable) {
try {
// Trigger a pom confirmation operation.
- unref(dependencyRef)?.handleApplyPom();
+ await unref(dependencyRef)?.handleApplyPom();
// common params...
const dependency: { pom?: string; jar?: string } = {};
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
index a93a01eec..575ae643e 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
@@ -74,7 +74,7 @@
const { t } = useI18n();
const defaultValue = '';
const { Swal } = useMessage();
- const { onChange, setContent } = useMonaco(pomBox, {
+ const { onChange, setContent, getContent } = useMonaco(pomBox, {
language: 'xml',
code: props.value || defaultValue,
options: {
@@ -99,7 +99,8 @@
const classifierExp = /<classifier>([\s\S]*?)<\/classifier>/;
const exclusionsExp = /<exclusions>([\s\S]*?)<\/exclusions>/;
const invalidArtifact: Array<string> = [];
- props.value
+ const propsValue = await getContent();
+ propsValue
.split('</dependency>')
.filter((x) => x.replace(/\\s+/, '') !== '')
.forEach((dep) => {
diff --git
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
index ffaf58507..9adb62d11 100644
---
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
+++
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
@@ -185,7 +185,7 @@
resourceJson = JSON.stringify(values.resourceGroup);
} else {
const resource: { pom?: string; jar?: string } = {};
- unref(resourceRef).handleApplyPom();
+ await unref(resourceRef).handleApplyPom();
const dependencyRecords = unref(resourceRef)?.dependencyRecords;
const uploadJars = unref(resourceRef)?.uploadJars;
if (unref(dependencyRecords) && unref(dependencyRecords).length > 0) {