chr*_*set 8 gradle kotlin gradle-kotlin-dsl
我想检查是否设置了两个项目属性,如果没有,将它们设置为空值以避免构建失败。这些属性应该来自~/.gradle/gradle.properties(如果已配置)。
目标是拥有在该本地文件中定义的 S3 中 Maven 存储库的凭据。每个用户都必须将自己的数据放在那里,但我希望构建仅输出警告并在未设置时继续。即使不联系 S3,它仍然会成功的可能性很高。
我已经使用 Groovy DSL 运行它,但我现在正在切换到 Kotlin,但我无法正确使用语法。
这是~/.gradle/gradle.properties这样的:
s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
s3SecretKey=abcdefghijklmnopqrstuvwxyz1234567890abcd
Run Code Online (Sandbox Code Playgroud)
这里是相关的部分 build.gradle.kts
s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
s3SecretKey=abcdefghijklmnopqrstuvwxyz1234567890abcd
Run Code Online (Sandbox Code Playgroud)
无论我如何编写s3AccessKeyId=""行,我总是收到错误消息:
无法在额外的属性扩展中获取属性“s3AccessKeyId”,因为它不存在
如果在本地 Maven 存储库中找到所有工件,我希望构建工作,即使没有gradle.properties. 只有当某些工件丢失时,构建才会中止并出现一些“凭据错误”错误。
正如我所说,它已经与 Groovy 一起工作了。
为此,您需要使用与extra不同的properties属性,例如:
project.properties["s3SecretKey"].toString()
Run Code Online (Sandbox Code Playgroud)
然后你需要在你的gradle.properties:
s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
Run Code Online (Sandbox Code Playgroud)
如果该值不存在,它可能会返回,null因此您可以执行以下操作:
s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
Run Code Online (Sandbox Code Playgroud)
它应该有效
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |