2017-12-15 27 views
1

TL; DR FatJarを作成しますが、サブプロジェクトの `application.properties``ファイルをビルド出力フォルダー(いずれか)にコピーします。Gradle:サブプロジェクトからapplication.propertiesファイルをコピー

みなさん、こんにちは、

は私が親プロジェクトにソースコードが含まれていませんGradleのプロジェクトを得たが、やるサブプロジェクトを持っていました。これらのサブプロジェクトの1つに、application.propertiesファイルがあります。このファイルはビルドフォルダに表示したいものです。アプリの構造は次のようになります。

ParentProject 
| 
|-datamodel(Sub Project) 
| | 
| |-build.gradle 
|-datadb(Sub Project) 
| | 
| |-build.gradle 
|-dataservices(Sub Project) 
| | 
| |-src 
| | | 
| | |-main 
| |  | 
| |  |-resources 
|    | 
|    |-application.properties(File I need) 
| |-build.gradle  
| 
|-build.gradle 

私はParentProjectをビルドするときにビルドディレクトリがこのように見えるようにしたいと思います。

build 
    | 
    |-libs 
    | | 
    | |-outputted.jar 
    | 
    |-resources 
     | 
     |-application.properties 

今のところ、ビルドスクリプトは私がFatJarと呼ばれるものを出力するようにしています。これが問題を作り出しているかどうかはわかりません。

すべてを:私が試した何

jar { 
    ... 
    from { 
     (configurations.runtime).collect { 
     it.isDirectory() ? it : zipTree(it) 
     } 
    } 
    ... 
} 

。私はParentProjectで全体のカスタムタスクのルートを試みたファイル

task copyStuff (dependsOn : 'subproject:build'){... 

task copyStuff and then copyStuff.dependsOn... 

task copyStuff..{ 
    doLast { 

を構築何があって、私はそれをコピーするために得たことがありません、それは全体の夜、障害の滝となっています。

ご協力いただきまして誠にありがとうございます。

答えて

0

だけのthatsがJarタスク

task customBuild(type: Copy, dependsOn: [jar]) { 
    from "dataservices/src/main/resources/" 
    into "build/resources" 
    include "application.properties" 
} 
に依存し、 Gradleから Copyタスクを使用します
関連する問題