Gradle:如何使任务依赖于环境变量?

Rob*_*ert 4 gradle

例如:我生成一个包含构建信息(SVN 分支、修订版、构建日期)的文件,并将其包含在我的构建中。现在我想在该文件中包含环境变量的值,并让 Gradle 将该变量识别为依赖项。我怎样才能做到这一点?

我总是可以将变量写入文件并依赖它。有没有更简单的方法而不需要额外的文件?

Mar*_*ira 6

与任何 Java(或 Groovy)代码中的操作方式相同。

System.getenv().get("ENV_VAR_NAME")
Run Code Online (Sandbox Code Playgroud)

当您说任务“依赖于”变量时,我假设您指的是增量构建支持。如果您希望在环境变量发生更改时再次运行任务,可以将其指定为任务输入。

task myTask {
    inputs.property 'myVar', System.getenv().get("MY_VAR")
}
Run Code Online (Sandbox Code Playgroud)