使用Gradle部署时更换令牌

时间:2019-08-19 09:25:55

标签: marklogic marklogic-dhf ml-gradle

我们有一些要部署的特定于环境的配置。

我们正在使用ML 9,以及gradle 4.8 plus: -ml-data-hub插件3.0.0 -ml-gradle插件3.6.3 -saliman属性插件1.4.6

我已经在plugins / config(我们的代码位于plugins目录下)下创建了两个资源(JSON和XQuery)以使用令牌:

{
  "environment" : "%%DATABASE%%",
  "built-from"  : "%%buildFile%%",
  "finalprop"   : "%%mlJobPort%%"
}

并且:

xquery version "1.0-ml";
module namespace tc = "http://my.company.com/config/test-config";
(: test to verify whether tokens are expanded in XQuery resources :)
declare variable $_SOME_VARIABLE as xs:string := "%%mlHost%%";

我们已经验证了令牌替换映射中存在的令牌(同时使用mlPrintTokens和mlReloadModules的--debug选项),这不是问题。 但是,在已部署的XQuery和JSON文档版本中,替换令牌永远不会扩展为它们的实际值。

当前设置中缺少什么使我们可以使用其特定于环境的值正确替换令牌?

1 个答案:

答案 0 :(得分:0)

当前,我们通过将文件复制到构建结构中并在此过程中应用Apache Ant的ReplaceTokens过滤器来解决此问题。 如果有人能以更清洁的方式实现目标,我们很乐意听到。 // Milco