如何使用Ant来区分文件,例如Linux上的diff命令-u

时间:2013-09-11 06:54:38

标签: ant groovy diff

背景: 现在我编写一些脚本将两个文件之间的差异输出到一个文件中。现在我使用Linux命令diff -u。 在Ant中有没有办法来区分文件? 这样我就可以使用groovy + ant + diff,而不需要调用本地命令。

1 个答案:

答案 0 :(得分:1)

不,蚂蚁中没有diff命令。

你可以抓住一些like java-diff-utils然后编写自己的东西(如果你想避免系统差异命令)

@Grab('com.googlecode.java-diff-utils:diffutils:1.2.1')
import difflib.*

def fileAContents = '''Line 1
                      |Line 2
                      |Line 3'''.stripMargin().split( '\n' ).toList()

def fileBContents = '''Line 1
                      |Line Two
                      |Line 3'''.stripMargin().split( '\n' ).toList()

DiffUtils.diff( fileAContents, fileBContents ).deltas.each {
    println it
}

打印:

[ChangeDelta, position: 1, lines: [Line 2] to [Line Two]]