如何使用 travis-ci 环境变量作为 Gradle 的属性?
我本地的 gradle.properties 位于 gradle 路径下,其中包含:
sonatypeRepo = abcd
它在我的build.gradle
中使用:
uploadArchives {
//more
repository(url: sonatypeRepo) {
// more
}
//more
}
当然在本地它是有效的。在 travis 中,我在设置下添加了变量,以便我看到构建日志:
Setting environment variables from repository settings
$ export sonatypeRepo=[secure]
它失败了:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/travis/build/Diolor/Swipecards/library/build.gradle' line: 49
* What went wrong:
A problem occurred evaluating project ':library'.
> No such property: sonatypeRepo for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
<小时/>
如何使用 Travis 的环境变量作为 Grable 属性但也可以使用本地构建?
最佳答案
我也是偶然发现了这个。
这就是我让它工作的方法:
在我的 build.gradle 中
def uzer = hasProperty('blahUser') ? blahUser : System.getenv('blahUser')
def creds = hasProperty('blahPwd') ? blahPwd : System.getenv('blahPwd')
在我的 $HOME/.gradle/gradle.properties
blahUser=batman
blahPwd=eatsworms
所以我需要这个 travis-ci ——我认为它没有 $HOME/.gradle/gradle.properties 的概念,但是你可以将环境变量添加到 .travis.yml 中。
基本上,如前所述,如果该属性“存在”; gradle 使用它,否则向环境询问它。在我的例子中,需要“hasProperty()”检查,这样 travis 就不会生成未找到属性的异常......
第...
关于gradle - 具有 Gradle 属性的 Travis CI 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023884/