0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gradle公式ドキュメントを読む-Structuring Individual Builds(4)

Posted at

この記事について

Gradleをより理解するために公式ドキュメントを読んでメモ代わりとして私なりに訳していきます。
読んでいるドキュメントのバージョンは7.3.3です。
この記事で訳している章はAuthoring Gradle Builds>Structuring Individual Builds>Fine Tuning the Project LayoutFine Tuning the Project Layoutとなります。
必要な章から読んでいるため、一連の記事は公式ドキュメントの章立て通りの順にはなっていません。

Structuring Individual Builds>Fine Tuning the Project Layout

マルチプロジェクトビルドは、Gradleの1回の実行で複数のプロジェクトをビルドすることです。マルチプロジェクトビルドに参加するプロジェクトは設定ファイルに宣言する必要があります。

Project locations

マルチプロジェクトビルとは常に単一のルートからのツリー構造で表されます。ツリーの各要素がそれぞれのプロジェクトを表現します。プロジェクトはマルチプロジェクトビルドツリー内の位置を表すプロジェクトパスを持ちます。ほとんどの場合、プロジェクトパスはファイルシステム上の物理的な位置と一致します。しかし、この挙動は構成可能です。プロジェクトツリーはsettings.gradleファイルによって作成されます。設定ファイルの場所はルートプロジェクトの位置でもあります。

Building the tree

設定ファイルではincludeメソッドを使ってプロジェクトツリーを構築できます。

プロジェクトレイアウトの例

settings.gradle
include 'project1', 'project2:child', 'project3:child1'

includeメソッドはプロジェクトパスを引数に取ります。プロジェクトパスは物理ファイルシステムのパスと等しいと仮定されます。たとえば、services:apiというパスは既定ではservice/apiというフォルダ(プロジェクトからの相対位置)にマップされます。ツリーからの葉のみを指定するだけです。これはservices:hotels:apiというパスを含めると、services,sevices:hotels,'services:hotels:api'の3つのプロジェクトを作成することになります。プロジェクトパスの作業法に関する他の例はDLSドキュメントのSettings.include(java.lang.String[])を参照してください。

Modifying elements of the project tree

設定ファイルから作成されたマルチプロジェクトツリーはいわゆるproject descriptotsで構成されています。設定ファイルにあるこれらの記述子はいつでも変更することができます。記述子にアクセスは下記のように行います。

プロジェクトツリー内の要素を走査する

settings.gradle
include('project-a')
println rootProject.name
println project(':project-a').name

記述子を利用すると、名前やプロジェクトのディレクトリ、プロジェクトのビルドファイルを変更することができます。

プロジェクトツリー内の要素の変更

settings.gradle
rootProject.name = 'main'
include('project-a')
project(':project-a').projectDir = file('my-project-a')
project(':project-a').buildFileName = 'project-a.gradle'

より詳しい情報はAPIドキュメントのProjectDescriptorクラスを参照してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?