我正在尝试使用gradle中的以下代码从A.txt文件中删除特定的行模式
档案低于内容
A.TXT
nda.url=@nda.url@
# SAP Settings
sdap.url=@sap.url@
sap.prefix.search=@sap.prefix.search@
sap.prefix.group=@sap.prefix.group@
# SMTP/Email Settings
smtp.host=@smtp.host@
smtp.enabled=true
我正在尝试从上面的文件中删除具有此模式的所有行= @ * @ with gradle task,之后我的文件应该只包含那些没有该模式的值。
我正在尝试使用以下gradle代码,但它无法正常工作
task removeandcopy(type:Copy) {
def regexp = new org.apache.tools.ant.types.RegularExpression()
regexp.pattern = '=@*@'
from(projectDir) {
include 'A.txt'
filter(org.apache.tools.ant.filters.LineContainsRegExp, regexps:[regexp])
}
into "outputDir"
}
有人能让我知道我在这里做错了吗?
答案 0 :(得分:0)
我能够以下面的方式实现这一点并且工作正常。
task deleteEmptyVariable(dependsOn: passLocalProp) << {
description "This function will remove all those variable which doesn't have value"
FileTree propFiles = fileTree('build/orignal/local.properties.template') {
}
String regex = ".*=@.*@"
propFiles.each { File propFile ->
println "Start replacing regex on $propFile.name"
String content = propFile.getText()
content = content.replaceAll(regex, "")
propFile.setText(content)
}
}