This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev-2.1.3
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev-2.1.3 by this push:
new b759483a4 [Improve] maven build args check improvement
b759483a4 is described below
commit b759483a4e2c7de856413895f5b50540bc21f64d
Author: benjobs <[email protected]>
AuthorDate: Sat Jan 6 09:10:36 2024 +0800
[Improve] maven build args check improvement
---
.../streampark/console/core/entity/Project.java | 53 +++++++++-------------
1 file changed, 22 insertions(+), 31 deletions(-)
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 6feb8b275..0a380cb46 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
@@ -218,62 +218,53 @@ public class Project implements Serializable {
StringBuilder cmdBuffer = new StringBuilder(mvn).append(" clean package
-DskipTests ");
if (StringUtils.isNotBlank(this.buildArgs)) {
- String dangerArgs = getDangerArgs(this.buildArgs);
- if (dangerArgs == null) {
- cmdBuffer.append(this.buildArgs.trim());
- } else {
+ String args = getIllegalArgs(this.buildArgs);
+ if (args != null) {
throw new IllegalArgumentException(
String.format(
- "Invalid maven argument, dangerous args: %s, in your
buildArgs: %s",
- dangerArgs, this.buildArgs));
+ "Illegal argument: \"%s\" in maven build parameters: %s",
args, this.buildArgs));
}
+ cmdBuffer.append(this.buildArgs.trim());
}
String setting =
InternalConfigHolder.get(CommonConfig.MAVEN_SETTINGS_PATH());
if (StringUtils.isNotBlank(setting)) {
- String dangerArgs = getDangerArgs(setting);
- if (dangerArgs == null) {
- File file = new File(setting);
- if (file.exists() && file.isFile()) {
- cmdBuffer.append(" --settings ").append(setting);
- } else {
- throw new IllegalArgumentException(
- String.format("Invalid maven-setting file path, %s no exists or
not file", setting));
- }
+ String args = getIllegalArgs(setting);
+ if (args != null) {
+ throw new IllegalArgumentException(
+ String.format("Illegal argument \"%s\" in maven-setting file path:
%s", args, setting));
+ }
+ File file = new File(setting);
+ if (file.exists() && file.isFile()) {
+ cmdBuffer.append(" --settings ").append(setting);
} else {
throw new IllegalArgumentException(
String.format(
- "Invalid maven-setting file path, dangerous args: %s, in your
maven setting path: %s",
- dangerArgs, setting));
+ "Invalid maven-setting file path \"%s\", the path not exist or
is not file",
+ setting));
}
}
return cmdBuffer.toString();
}
- private String getDangerArgs(String param) {
+ private String getIllegalArgs(String param) {
Pattern pattern = Pattern.compile("(`.*?`)|(\\$\\((.*?)\\))");
Matcher matcher = pattern.matcher(param);
if (matcher.find()) {
- String dangerArgs = matcher.group(1);
- if (dangerArgs == null) {
- dangerArgs = matcher.group(2);
- }
- return dangerArgs;
+ return matcher.group(1) == null ? matcher.group(2) : matcher.group(1);
}
- String result = null;
- Iterator<String> dangerIter = Arrays.asList(";", "|", "&", ">").iterator();
+ Iterator<String> iterator = Arrays.asList(";", "|", "&", ">").iterator();
String[] argsList = param.split("\\s+");
- while (result == null && dangerIter.hasNext()) {
- String danger = dangerIter.next();
+ while (iterator.hasNext()) {
+ String chr = iterator.next();
for (String arg : argsList) {
- if (arg.contains(danger)) {
- result = arg;
- break;
+ if (arg.contains(chr)) {
+ return arg;
}
}
}
- return result;
+ return null;
}
@JsonIgnore