2011-03-16 64 views
4

我寫了一個簡單的任務的gradle產生節儉文件:包括生成JAR代碼搖籃

task generateThrift << { 
    thriftFiles = fileTree(dir: 'src/main/thrift').matching { include '**/*.thrift' } 
    exec { 
    executable = 'thrift' 
    args = ['--gen', 'java:hashcode', '-o', '/tmp', thriftFiles.collect { relativePath(it) }.join(",") ] 
    } 
} 

這對我工作得很好。我想要做的就是將其掛接到構建過程中,以便存根包含在我的JAR文件中。我很難找到一個很好的例子來說明這個問題,以及在哪裏寫文件,以便它們包含在我的JAR中。做這件事的最佳方式或者有一個例子的項目是什麼?

回答

12

我建議將文件寫入構建輸出目錄的子目錄,如thrift-stubs。然後你可以將它們包括在Jar中,如下所示:

jar { 
    from "$buildDir/thrift-stubs" 
} 
+0

Peter - 如果項目在src/main/java中有代碼,那麼這個語法是什麼? – 2011-03-18 22:38:24

+0

它保持不變。 'jar'是一個預先配置的任務; 'from'只添加額外的內容。 – 2011-03-19 14:31:38

+0

關於此的問題。我將如何去複製特定目錄中的多個文件?假設所有來自某個文件夾的xml文件都包含在jar中? – stuff22 2011-12-08 01:59:59