是否有一个Groovy等同于Scala的文字标识符?

时间:2013-07-19 17:16:50

标签: groovy gradle

Scala的文字标识符在Need clarification on Scala literal identifiers (backticks)中描述。

背景:我正在将Ant构建系统转换为Gradle。我们目前有一个文件dependencies.properties,其定义如下:

com.netflix.archaius.archaius-core.rev=latest.release

但Groovy不喜欢属性名称中的.-(因为它们是运算符)。有没有办法告诉Groovy将.-视为属性名称中的另一个字符,而不是更改属性的名称和使用它们的所有内容?

1 个答案:

答案 0 :(得分:1)

以下不提供文字标识符,如在Scala中,但它应该解决您的根问题。鉴于这个dependencies.properties文件:

foo=bar
com.netflix.archaius.archaius-core.rev=latest.release

然后这个Gradle脚本:

ant.property(file: "dependencies.properties")

task go() {
    println ant."com.netflix.archaius.archaius-core.rev"
    println ant.foo
    println "done."
}

输出(为简洁起见编辑):

bash-3.2$ gradle go
latest.release
bar
done.

BUILD SUCCESSFUL

Total time: 4.26 secs