2011-03-16 65 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