如何在运行时转换包含groovy表达式的纯java String?

时间:2015-07-14 08:27:12

标签: java groovy gradle

假设我们在gradle.properties文件中定义了包含groovy表达式的属性值:

databaseFile = ${System.properties['user.home']}/.derby

稍后当我想在gradle构建脚本中访问此属性值时,
它似乎是在没有字符串评估的groovy运行时中作为纯java字符串加载的。

在通过gradle dsl获取属性值之前,是否有任何方法可以帮助我评估纯Java String?
或者我必须评估我在运行时得到的java字符串?但是如何制作呢?

谢谢〜

1 个答案:

答案 0 :(得分:1)

假设:

databaseFile_unevaluated = '${System.properties[\'user.home\']}/.derby'

您可以使用Eval

将其评估为GString
databaseFile = Eval.me(""" "$databaseFile_unevaluated" """)

这也可以写成:

databaseFile = Eval.me("\"$databaseFile_unevaluated\"")