2015-02-10 96 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建設。