蚂蚁replaceregexp
任务中是否存在类似于简单蚂蚁replace
任务中的summary="true"
等价物?
这是我的用例。我正在用replaceregexp任务替换ant替换任务,如下所示:
<replace dir="${dir}" summary="true" value="" token="Some Text">
<include name="**/*.jsp" />
</replace>
变成这样:
<replaceregexp byline="true">
<regexp pattern="Somes*Text"/>
<substitution expression=""/>
<fileset dir="${dir}" includes="**/*.jsp"/>
</replaceregexp>
然而,我找不到一种方法来让我的ant构建输出已经进行的替换的数量。replaceregexp
没有summary
属性,文档也没有提供任何现成的建议。这可能吗?
从ReplaceRegexp任务的源代码中没有这样的功能
ant184=>src/main.org/apache/tools/ant/taskdefs/可选/ReplaceRegExp.java,第351行:
protected void doReplace(File f, int options) throws IOException {
File temp = FILE_UTILS.createTempFile("replace", ".txt", null, true, true);
Reader r = null;
Writer w = null;
BufferedWriter bw = null;
try {
if (encoding == null) {
r = new FileReader(f);
w = new FileWriter(temp);
} else {
r = new InputStreamReader(new FileInputStream(f), encoding);
w = new OutputStreamWriter(new FileOutputStream(temp),
encoding);
}
BufferedReader br = new BufferedReader(r);
bw = new BufferedWriter(w);
boolean changes = false;
log("Replacing pattern '" + regex.getPattern(getProject())
+ "' with '" + subs.getExpression(getProject())
+ "' in '" + f.getPath() + "'" + (byline ? " by line" : "")
+ (flags.length() > 0 ? " with flags: '" + flags + "'" : "")
+ ".", Project.MSG_VERBOSE);
表示使用loglevel verbose来记录替换:ant -verbose -f yourfile.xml
或ant -v -f yourfile.xml
获取ant源分发文件,并简单地扩展tasks doReplace()方法以获得所需的输出,例如,由新任务属性'summary'false|true
控制的替换计数器你可以填写一份增强报告并提交一个补丁,以便在下一个蚂蚁版本中为其他用户提供,更多详细信息请点击此处。