2014-02-12 21 views
1

我有一堆希望在我的Gradle構建中執行的sql文件。我想出了這個。在Gradle中使用Groovy執行SQL文件

def sqlDir = new File('src/main/resources/') 

task testSql << { 

    sqlDir.eachDirRecurse() { dir -> 
     dir.eachFileMatch(~/.*\.sql$/) { 
      //  sql.execute(it.text) 
        println it 
      } 
    } 

} 

但是我也希望排除一些文件,我可能可以做,如果使用塊和代碼中硬編碼的文件名。有人可以給我一個清潔劑解決方案來排除文件

+1

看來文件樹是去Gradle的路,會試試看。 –

+0

我沒有注意到,那是你,誰在評論中添加了信息。你正朝着正確的方向前進,fileTree是最好的解決方案。 – Seagull

+0

謝謝您確認海鷗,我會接受您的回答。 –

回答

4

正如你指出的,還有在搖籃

一個[fileTree]解決方案可以以某種方式使用它這樣。請參閱鏈接到詳細信息。

def sqlDir = file 'src/main/resources/' 

task testSql << { 
    fileTree(dir: sqlDir, include: "**.sql", exclude: ["somefilename.sql", "otherfilename.sql"]).each { 
     sql.execute(it.text) 
    } 
} 
+0

hmajumdar是OP。 ;-) – dmahapatro