gpt4 book ai didi

gradle - 使用xquery的ML Gradle task.Server.Eval.Task设置变量

转载 作者:行者123 更新时间:2023-12-03 04:10:21 25 4
gpt4 key购买 nike

我正在使用ml-gradle运行XQuery块来更新MarkLogic数据库。我遇到的问题是我需要将所有代码都用引号引起来,但是由于代码本身包含引号,因此在尝试声明变量(即let $config)时遇到了一些错误。有谁知道解决这个问题的方法吗?我当时想我可以将所有代码连接成一个大字符串,这样它就忽略了第一引号和最后引号。

task addCron(type: com.marklogic.gradle.task.ServerEvalTask) {
xquery = "xquery version \"1.0-ml\";\n" +
"import module namespace admin = \"http://marklogic.com/xdmp/admin\" at \"/MarkLogic/admin.xqy\";\n" +
"declare namespace group = \"http://marklogic.com/xdmp/group\";\n" +
" let $config := admin:get-configuration()\n" +

尝试将$ config声明为变量时,它会炸毁。与错误:
> Could not get unknown property 'config' for task ':

这是一个有效的例子
task setSchemasPermissions(type: com.marklogic.gradle.task.ServerEvalTask) {
doFirst {
println "Changing permissions in " + mlAppConfig.schemasDatabaseName + " for:"
}
xquery = "xdmp:invoke('/admin/fix-permissions.xqy', (), map:entry('database', xdmp:database('" + mlAppConfig.schemasDatabaseName + "')))"
}

这是ServerEvalTask​​的一些文档: https://github.com/marklogic-community/ml-gradle/wiki/Writing-your-own-task

最佳答案

我怀疑您在Groovy / Gradle中遇到了一些字符串模板机制。也尝试转义$符号。

请注意,您可以在XQuery代码中使用单引号和双引号。

HTH!

关于gradle - 使用xquery的ML Gradle task.Server.Eval.Task设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com