2015-02-10 95 views
0

我有一个具有以下目录结构Groovy的应用程序:添加副本的任务,因为依赖于现有的摇篮任务

build.gradle 
gradle.properties 
settings.gradle 
src/ 
    main/ 
     groovy/ 
      <Groovy code> 
     resources/ 
      config.json 
    test/ 

目前,当我运行gradle clean build shadowJar(使用ShadowJar plugin虽然我不认为这就是有关这里)我剩下一个编译的,可执行的JAR,位于build/distributions之内。我想向我的Gradle文件添加一个任务,该任务还将src/main/resources/config.json文件复制到此位置,最好不必更改我的构建调用。

我尝试这样做:

task copyJson(type: Copy) { 
    from('src/main/resources') 
    into('build/distributions') 
    include('config.json') 
} 

然而,这迫使我用下面的生成调用:gradle clean build shadowJar copyJson,这不是我想要的。

那么请问:我怎样才能将任务添加到我的摇篮建立,使得运行gradle clean build shadowJar不仅生产我的可执行的JAR build/distributions下,还会将自身复制的src/main/resources/config.json文件到该位置呢?

回答

1

只需添加

build.dependsOn copyJson 

您的build.gradle文件。请注意,如果构建应始终创建阴影罐子,你还可以添加

build.dependsOn shadowJar 

gradle build建设。