我该如何将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的环境变量作为Gradle属性使用,但同时又进行本地构建?
def repo = sonatypeRepo ?: System.getenv('sonatypeRepo')
。第一部分应该在本地工作,第二部分在Travis上工作。 - Opalrepository(url: sonatypeRepo ?: "$System.env.sonatypeRepo") {}
但没有成功,将继续尝试。 - DiolorSystem.env
读取。在Jenkins上是可以的。这可能还有其他问题。您需要在Travis上检查sonatypeRepo
属性返回的确切内容。如果它存在于gradle.properties
中并且为空,它可能会通过,因为它存在。 - OpalSystem.env
的结果打印到标准输出。 - Opal