1

背景: 現在、2 つのファイルの違いをファイ​​ルに出力するスクリプトをいくつか作成しています。今、私は Linux コマンド diff -u を使用しています。Ant でファイルを比較する方法はありますか? groovy + ant + diff を使用できるように、ローカル コマンドを呼び出す必要はありません。

4

1 に答える 1

1

いいえ、ant には diff コマンドはありません。

ただし、 java-diff-utils のようなものを取得して、独自のものを作成することもできます (システムの diff コマンドを避けたい場合)。

@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]]
于 2013-09-11T08:08:37.040 に答える