0

我有一个具有以下目录结构的 Groovy 应用程序:

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

目前,当我运行时gradle clean build shadowJar(使用ShadowJar 插件, 尽管我认为这与此处无关)我留下了一个已编译的可执行 JAR,位于build/distributions. 我想向我的 Gradle 文件添加一个任务,该文件还将文件复制src/main/resources/config.json到此build/distributions位置,理想情况下无需更改我的构建调用。

我试过这个:

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

然而,这迫使我使用以下构建调用:gradle clean build shadowJar copyJson,这不是我想要的。

所以我问:我怎样才能在我的 Gradle 构建中添加一个任务,这样运行不仅gradle clean build shadowJar会在.build/distributionssrc/main/resources/config.json

4

1 回答 1

2

只需添加

build.dependsOn copyJson

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

build.dependsOn shadowJar

并用gradle build.

于 2015-02-10T17:16:40.880 回答