将复制任务作为依赖项添加到现有 Gradle 任务
Adding copy task as dependency to existing Gradle task
我有一个具有以下目录结构的 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 构建添加一个任务,这样 运行ning gradle clean build shadowJar
不仅在 build/distributions
下生成我的可执行 JAR,而且也将 src/main/resources/config.json
文件也复制到该位置?
只需添加
build.dependsOn copyJson
到您的 build.gradle 文件。请注意,如果构建应始终创建影子 jar,您还可以添加
build.dependsOn shadowJar
并使用 gradle build
.
构建
我有一个具有以下目录结构的 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 构建添加一个任务,这样 运行ning gradle clean build shadowJar
不仅在 build/distributions
下生成我的可执行 JAR,而且也将 src/main/resources/config.json
文件也复制到该位置?
只需添加
build.dependsOn copyJson
到您的 build.gradle 文件。请注意,如果构建应始终创建影子 jar,您还可以添加
build.dependsOn shadowJar
并使用 gradle build
.