0

使用以下Gradle gulp 插件,它通过简单的命名约定简单地执行gulp taskfrom agradle taskgulp_<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 命令行解析器处理

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

 gulp build --env dev --buildType gulp

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

4

1 回答 1

0

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

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

否则"--env prod"被解释yargs为一个名为 的选项env prod,而不是一个以env为参数命名的选项prod

于 2016-09-19T14:28:49.953 回答