2014-02-28 27 views
0

我在Gradle(主要是Java)中有多项目设置,有很多内部和外部依赖关系。其中一个项目生成带Main类的jar,我想在构建之外执行特殊类型的测试(它不打算在生产环境中部署)。我不需要将它上传到任何地方,只要在构建运行的同一台计算机上获得所需的内容即可。可执行(和可同步)构建输出而不打包

我可以让这个项目的类和所有的依赖项创建uber-jar的任务,为这些测试获得自动执行的jar。这种方法的问题是需要10-15分钟来创建这样一个jar,我不想每次在某处更改单行代码时都这样做。

是否有某种分发/组装任务,即在创建所有内容之后,将生成的jar和依赖项jar复制到我指定的某个文件夹中?而且,当我再次运行构建时,它将仅复制那些自上次构建以来实际发生更改的罐子?

回答

0

嗯,貌似我取得了我想要的东西简单地使用installApp任务从Application plugin

apply plugin:'application' 

mainClassName = 'org.openjdk.jmh.Main' 

installApp { 
    into 'D:\\Some\\directory' 
} 

它并不为每个罐子做同步,但只检查整个目录。然而,因为它没有包装,只是将我需要的罐子从一个地方复制到另一个地方,所以它非常快。邪恶!

我只希望这个插件和它的任务有更多的记录,以防我想自定义它。

相关问题