This is an automated email from the ASF dual-hosted git repository. chanjarster pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-toolkit.git
commit 0c420e6e418756d68701d1e5f62aa03a8ad5e1b6 Author: kakulisen <18813972...@163.com> AuthorDate: Fri Dec 13 15:35:19 2019 +0800 [SCB-1663] determine script name based on system property Signed-off-by: kakulisen <18813972...@163.com> --- README-ZH.md | 11 +++++++++-- README.md | 8 ++++++-- cli/scripts/cli.cmd | 2 +- cli/scripts/cli.sh | 2 +- .../java/org/apache/servicecomb/toolkit/cli/ToolkitMain.java | 11 ++++++++++- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/README-ZH.md b/README-ZH.md index 1dcd770..f61eee0 100644 --- a/README-ZH.md +++ b/README-ZH.md @@ -234,8 +234,15 @@ mvn toolkit:verify ### 3.3 使用toolkit cli工具 -* 如果你使用的是正式发布版本(>=0.2.0),可以在解压二进制包后直接使用cli.sh -* 如果你是通过源码构建,可以将`cli/scripts/cli.sh`与`cli/target/bin/toolkit-cli-{version}.jar`放置在同一目录,然后使用cli.sh + +#### 3.3.0 获取 +* 如果你使用的是正式发布版本(>=0.2.0),可以在解压二进制包后直接使用里面的脚本文件 + * 在Linux及Mac环境,请使用cli.sh + * 在Windows环境,请使用cli.cmd + +* 如果你是通过源码构建,可以将`cli/scripts/cli.*`与`cli/target/bin/toolkit-cli-{version}.jar`放置在同一目录,然后根据不同环境选择不同脚本 + +以下所有示例均通过Linux环境的cli.sh进行介绍 ```shell $ ./cli.sh help ``` diff --git a/README.md b/README.md index 55123d7..015129a 100644 --- a/README.md +++ b/README.md @@ -229,8 +229,12 @@ mvn toolkit:verify ### 3.3 Use the toolkit cli -* If you are using the official release version ( >=0.2.0 ), you can use cli.sh directly after decompressing the binary package -* If you are building from source, you can put `cli/scripts/cli.sh` in the same directory as`cli/target/bin/toolkit-cli-{version}.jar` and then use cli.sh +* If you are using the official release version ( >=0.2.0 ), you can use the script files directly after decompressing the binary package + * In Linux and Mac environment, please use cli.sh + * In the Windows environment, please use cli.cmd +* If you are building from source, you can put `cli/scripts/cli.*` in the same directory as`cli/target/bin/toolkit-cli-{version}.jar` and then choose different scripts according to different environments + +All the examples below are introduced through cli.sh for Linux environment ```shell $ ./cli.sh help ``` diff --git a/cli/scripts/cli.cmd b/cli/scripts/cli.cmd index 0e07d35..5d7e25c 100644 --- a/cli/scripts/cli.cmd +++ b/cli/scripts/cli.cmd @@ -55,7 +55,7 @@ if "%allparam:~-1%"==" " set "allparam=%allparam:~0,-1%"&goto intercept_right :eof -java -jar %jarFile% %allparam% +java -Dscript.name="cli.cmd" -jar %jarFile% %allparam% exit /B %SUCCESS_CODE% :JAVA_HOME_ERROR diff --git a/cli/scripts/cli.sh b/cli/scripts/cli.sh index 81752d1..cdc22c8 100755 --- a/cli/scripts/cli.sh +++ b/cli/scripts/cli.sh @@ -47,4 +47,4 @@ if [[ ! -f ${jarFile} ]]; then exit 1 fi -java -jar ${jarFile} $* +java -Dscript.name="cli.sh" -jar ${jarFile} $* diff --git a/cli/src/main/java/org/apache/servicecomb/toolkit/cli/ToolkitMain.java b/cli/src/main/java/org/apache/servicecomb/toolkit/cli/ToolkitMain.java index ac3ac01..851289d 100755 --- a/cli/src/main/java/org/apache/servicecomb/toolkit/cli/ToolkitMain.java +++ b/cli/src/main/java/org/apache/servicecomb/toolkit/cli/ToolkitMain.java @@ -21,6 +21,8 @@ import java.io.IOException; import java.util.Optional; import java.util.Properties; +import org.apache.commons.lang3.StringUtils; + import io.airlift.airline.Cli; import io.airlift.airline.Help; @@ -33,7 +35,14 @@ public class ToolkitMain { initialProjectVersion(); - Cli.CliBuilder<Runnable> builder = Cli.<Runnable>builder("cli.sh"); + String scriptName = System.getProperty("script.name"); + Cli.CliBuilder<Runnable> builder = null; + if (StringUtils.isNotEmpty(scriptName)) { + builder = Cli.builder(scriptName); + } else { + builder = Cli.builder("java -jar toolkit-cli-" + projectVersion + ".jar"); + } + builder.withDescription("Microservice development toolkit(version " + projectVersion + "). "); builder.withDefaultCommand(Help.class);