gradle copy任务,里面的filter-gradle.properties文件值不起作用

时间:2016-02-11 05:51:16

标签: gradle build.gradle

我的build.gradle文件中的gradle copy过滤任务,我试图从gradle.properties文件或变量中读取标签值。请参考以下代码:

def label = "2.2"

task filterJS(type: Copy) {
   from 'src/main/webapp'
   into 'build/webapp'

   filter(ReplaceTokens, tokens: [vlabel: $label])   
}

在HTML文件中,我有@vlabel@

在运行gradle filterJS时,获得以下异常

  • 出了什么问题: 评估项目':CargoSystemUX'时出现问题。
      

    无法在任务$label上找到属性:CargoSystemUX:filterJS

我无法在运行时将$label替换为其值。请为我建议解决方案。

1 个答案:

答案 0 :(得分:2)

应该是:

import org.apache.tools.ant.filters.ReplaceTokens

def label = "2.2"

task filterJS(type: Copy) {
  from 'webapp'
  into 'filtered'
  filter(ReplaceTokens, tokens: [vlabel: label])
}

在引用$时没有label,也请注意导入语句。