gradle没有通过扩展使用选项将args传递给gulp

时间:2016-09-19 12:54:54

标签: angularjs gradle gulp build.gradle yargs

使用以下Gradle gulp plugin 只需通过简单的命名约定gulp taskgradle task执行gulp_<task name>

在文档的扩展选项中:Gradle gulp plugin extended docs 它演示了以下内容:

task gulpBuildWithOpts(type: GulpTask) {
  args = ["build", "arg1", "arg2"]
}

在gradle执行的标准构建任务中,如下所示:

// runs "gulp build" as part of your gradle build
bootRepackage.dependsOn gulpBuildWithOpts

task gulpBuildWithOpts(type: GulpTask) {
  args = ["build", "--env prod", "--buildType gradle"]
}

执行并构建以下内容,但是args被忽略,gulp从不接受它们。 args应由Yargs command line parser

处理

如果我直接用gulp运行(如下所示)那么这样可以正常运行,那么为什么我从gradle运行时会忽略我的args?

 gulp build --env dev --buildType gulp

注意 - 如果您想知道工具的选择,应用程序布局是Springboot / AngularJS(^ 1.5)。

1 个答案:

答案 0 :(得分:0)

您需要单独传递这些选项:

task gulpBuildWithOpts(type: GulpTask) {
  args = ["build", "--env", "prod", "--buildType", "gradle"]
}

否则"--env prod"yargs解释为名为env prod的单个选项,而不是名为env的选项,其参数为prod