使用Gradle在JAR中包含生成的代码

时间:2011-03-16 19:11:44

标签: gradle

我写了一个简单的gradle任务来生成thrift文件:

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中。最好的方法是什么,或者有一个例子的项目?

1 个答案:

答案 0 :(得分:14)

我建议将文件写入构建输出目录的子目录,比如说thrift-stubs。然后你可以将它们包含在Jar中,如下所示:

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