如何在gradle中更改ReplaceTokens过滤器的令牌格式?

时间:2017-05-27 06:02:21

标签: gradle

我在文件中使用bash格式的标记看起来像这样:

PASSWORD=$PASSWORD

如何更改ReplaceTokens过滤器以使其尊重bash格式?

copy{ 
  into something
  from somethingelse
  filter(ReplaceTokens, tokens: [PASSWORD:'123456'])  
}

2 个答案:

答案 0 :(得分:0)

解决方案是使用复制任务的expand属性:

https://docs.gradle.org/3.4/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:expand(java.util.Map)

task copyProductionConfig(type: Copy) {
  from 'source'
  include 'config.properties'
  into 'build/war/WEB-INF/config'
  expand([
    databaseHostname: 'db.company.com',
    version: versionId,
    buildNumber: (int)(Math.random() * 1000),
    date: new Date()
  ])
}

答案 1 :(得分:0)

ReplaceTokens支持开始和结束标记,因此您可以这样做:

    filter( ReplaceTokens,
        beginToken : '$',
        endToken : '',
        tokens: [PASSWORD:'123456']
    )