Gradle-multi-project-build
Gradle-マルチプロジェクトビルド
Gradleは、最小および最大のプロジェクトを簡単に処理できます。 小さなプロジェクトには、単一のビルドファイルとソースツリーがあります。 より小さく、相互に依存するモジュールに分割されたプロジェクトを消化して理解することは非常に簡単です。 Gradleは、マルチプロジェクトビルドであるこのシナリオを完全にサポートしています。
マルチプロジェクトビルドの構造
このようなビルドはすべての形状とサイズで提供されますが、いくつかの共通の特徴があります-
- プロジェクトのルートまたはマスターディレクトリにある settings.gradle ファイル。
- ルートまたはマスターディレクトリにある build.gradle ファイル。
- 独自の**。gradle *ビルドファイルを持つ子ディレクトリ(一部のマルチプロジェクトビルドでは、子プロジェクトのビルドスクリプトが省略される場合があります)。
ビルドファイル内のすべてのプロジェクトを一覧表示するには、次のコマンドを使用できます。
C:\> gradle -q projects
出力:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'projectReports'
+--- Project ':api' - The shared API for the application
\--- Project ':webapp' - The Web application implementation
To see a list of the tasks of a project, run gradle <project-path>:tasks
For example, try running gradle :api:tasks
レポートには、指定されている場合、各プロジェクトの説明が表示されます。 次のコマンドを使用して、説明を指定できます。 build.gradle ファイルに貼り付けます。
description = 'The shared API for the application'
一般的なビルド構成の指定
root_projectの build.gradle ファイルでは、一般的な構成をすべてのプロジェクトまたはサブプロジェクトに適用できます。
allprojects {
group = 'com.example.gradle'
version = '0.1.0'
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
}
これにより、すべてのプロジェクトに共通の com.example.gradle グループと 0.1.0 バージョンが指定されます。 subprojects クロージャーは、すべてのサブプロジェクトに共通の構成を適用しますが、 allprojects クロージャーのようにルートプロジェクトには適用しません。
プロジェクト固有の構成と依存関係
コアの ui および util サブプロジェクトには、特定のニーズがあり、ルートプロジェクトの一般的な構成によってまだ適用されていない場合、独自の build.gradle ファイルを含めることもできます。
たとえば、通常、uiプロジェクトはコアプロジェクトに依存しています。 したがって、uiプロジェクトには、この依存関係を指定するための独自の build.gradle ファイルが必要です。
dependencies {
compile project(':core')
compile 'log4j:log4j:1.2.17'
}
プロジェクトの依存関係は、プロジェクトメソッドで指定されます。