0

次のディレクトリ構造を持つ Groovy アプリがあります。

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

現在、実行するとgradle clean build shadowJarShadowJar プラグインを使用します が、ここでは関係ないと思います)、コンパイル済みの実行可能 JAR が の中にありbuild/distributionsます。理想的には、ビルドの呼び出しを変更することなく、src/main/resources/config.jsonファイルをこの場所にコピーするタスクを Gradle ファイルに追加したいと考えています。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、実行すると実行可能なJARが下に生成されるだけでなく、その場所にもファイルbuild/distributionsがコピーされるようにするにはどうすればよいですか?src/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 に答える