Groovyで新パッケージ内で新規に追加されたjarファイルを見つける

こんな感じ。 ここではWindowsに c:¥21_runtime というディレクトリを配置し、 Groovy のランタイムを配置しているケースを想定しています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
def oldPath = "c:/21_runtime/groovy-20071127/lib"
def newPath = "c:/21_runtime/groovy/lib"

newJarList = []
new File(newPath).eachFile{ file ->
    newJarList << file.name.replaceAll("\-[0-9a-zA-Z\.]+\.jar", ".jar")
}
newJarList = newJarList.sort()

oldJarList = []
new File(oldPath).eachFile{ file ->
    oldJarList << file.name.replaceAll("\-[0-9a-zA-Z\.]+\.jar", ".jar")
}
oldJarList = oldJarList.sort()

oldJarList.sort().each{ oldjar ->
    if( !newJarList.contains(oldjar) ){
        println oldjar
    }
}