最近ではGradleを使ったAndroidプロジェクトが主流になりました。
どうせならGradleタスクから一発でJavadocも生成したいですよね。
GradleのJavaプラグインを使えばGradleタスクに javadoc
タスクが追加されるのですが、Androidプラグインにはそんなタスクはありません。
それに、 R.java
とか自動生成されたファイルは入れたくない…
ので、自力でカスタマイズできるJavadoc生成タスクを作っちゃいましょう。
環境
以下の環境で動作を確認しています。
- Gradle 2.2.1
- (Android Studio 1.2.2)
コード
Android Applicationのモジュール向けです。
(モジュール)/build.gradle
にコピペします。
android.applicationVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
description "Generates Javadoc for $variant.name."
source = variant.javaCompile.source
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
}
これで generateDebugJavadoc
と generateReleaseJavadoc
がタスクが使えるので、叩くと (モジュール)/build/docs/javadoc
以下にJavadocが生成されます!
(variantの数だけ、variantのコンパイル対象になっているソースのJavadocタスクが作られます)
Android Libraryの場合は?
1行目を書き換えます。
android.applicationVariants.all { variant ->
↓
android.libraryVariants.all { variant ->
Android ApplicationモジュールとAndroid Libraryモジュールでは使われているGradleプラグインが違うためです。