Javaプラグインのタスクの依存関係
Javaプラグインに含まれるタスクは、そのほどんどが単体で実行できず、依存関係を持つ。
よって、先に実行されているべきタスクというものが存在する。
タスクの実行順序と処理概要
compileJava/processResourcesタスク
mainソースセットを対象とする。
Javaソースのコンパイルとリソースのbuildファイルへのコピーを行う。
classesタスク
compileJavaタスクとprocessResourcesタスクを実行する。
javadocタスク
classesタスクの実行結果である生成物をもとにJavadocを生成する。
compileTestJava/processTestResourcesタスク
testソースセットを対象とする。
Javaソースのコンパイルとリソースのbuildファイルへのコピーを行う。
testClassesタスク
compileTestJavaタスクとprocessTestResourcesタスクを実行する。
testタスク
testClasses、compileTestJava、processTestResourcesタスクを実行し、
テストの実行結果のレポートをXML形式で生成する。
checkタスク
testタスクの生成したXMLファイルをもとにビルドの可否を判定する。
jarタスク
classesタスクの生成物であるクラスファイルやリソース、ライブラリなど
をJARファイルにパッケージングする。
puloadArchivesタスク
JARファイルなどのアーカイブをリポジトリなどにアップロードする。
assembleタスク
デフォルト設定ではjarタスクと実行内容は同じ。
buildタスク
checkタスクとassembleタスクを実行する。
タスクの概要
compileJavaタスク/compileTestJavaタスク
JavaCompile型のタスク。javacコマンドによりJavaソースをコンパイルする。
java.srcDirsプロパティで指定したディレクトリ以下の
拡張子が.javaのファイルをコンパイルする。
processResourcesタスク/processTestResourcesタスク
Copy型のタスク。リソースをクラス出力先へコピーする。
resources.srcDirsプロパティで指定したディレクトリ以下の、拡張子が.java以外のファイルを
ソースセットの出力先(outputプロパティの設定値)へコピーする。
jarタスク
Jar型のタスク。JARファイルの生成を行う。
mainソースセットのoutputプロパティ(=compileJavaタスクとprocessResourcesタスクの出力)
をアーカイブ対象としてJARファイルを生成する。
javadocタスク
Javadoc型のタスク。Javadocの生成を行う。
参照
この記事は以下の書籍を参考に執筆しています。