ata*_*ulm 6 environment-variables gradle travis-ci
我的一个项目依赖项位于私有Bintray仓库,需要用户名和密码才能访问.在本地,我有这些设置在我的gradle.properties
:
bintrayUsername=<myUserName>
bintrayPassword=<myPass>
Run Code Online (Sandbox Code Playgroud)
这适用于(本地),其中hasProperty(X)
解析为true并且它使用此属性:
allprojects {
repositories {
jcenter()
def mahBintrayUsername = hasProperty(bintrayUsername) ? bintrayUsername : System.getenv('bintrayUsername')
def mahBintrayPassword = hasProperty(bintrayPassword) ? bintrayPassword : System.getenv('bintrayPassword')
maven {
credentials {
username mahBintrayUsername
password mahBintrayPassword
}
url 'http://dl.bintray.com/my-repo-org/maven-private'
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Travis上,我使用安全变量,因此我不必在公共仓库中公开这些值,而是为了能够直接从我的公共仓库构建.构建开始时,您可以看到变量已导出:
Setting environment variables from .travis.yml
$ export bintrayUsername=[secure]
$ export bintrayPassword=[secure]
$ export TERM=dumb
...
FAILURE: Build failed with an exception.
* Where:
Build file '/home/travis/build/ataulm/wutson/build.gradle' line: 15
* What went wrong:
A problem occurred evaluating root project 'wutson'.
> Could not find property 'bintrayUsername' on repository container.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Run Code Online (Sandbox Code Playgroud)
我不确定如何引用我的导出环境变量,build.gradle
以便找到它们.
我检查这个答案这似乎并没有工作(如上),以及此评论导致相同的生成失败.
我试过的一系列提交可以在这里看到,最新的:https://github.com/ataulm/wutson/commit/9331b8d91b4acf11fd3e286ff8ba1a24ed527177
该错误是您的三元语句尝试bintrayUsername
作为条件的一部分进行评估的结果.
该hasProperty()
方法接受一个String
参数,所以你应该使用hasProperty('bintrayUsername')
,而不是hasProperty(bintrayUsername)
.执行后者将尝试评估可能不存在的属性,从而导致MissingPropertyException
.
简单地记住,尝试评估任何不存在的符号通常会导致a MissingPropertyException
.
归档时间: |
|
查看次数: |
1193 次 |
最近记录: |