【问题标题】:Adding copy task as dependency to existing Gradle task将复制任务添加为现有 Gradle 任务的依赖项
【发布时间】:2015-02-10 17:13:50
【问题描述】:

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

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

目前,当我运行gradle clean build shadowJar(使用ShadowJar plugin虽然我认为这与此处无关)时,我留下了一个位于build/distributions 内部的已编译可执行JAR。我想向我的 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/distributions 下生成我的可执行 JAR,而且还将 src/main/resources/config.json 文件复制到该位置?

【问题讨论】:

    标签: gradle gradle-plugin


    【解决方案1】:

    只需添加

    build.dependsOn copyJson
    

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

    build.dependsOn shadowJar
    

    并使用gradle build 构建。

    【讨论】:

      猜你喜欢
      • 2014-03-30
      • 2015-07-08
      • 2015-10-12
      • 2018-03-02
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多