/** * A helper gradle file to generate documentation using doclava. * Include this file using `apply from` in the gradle build file. This will generate new tasks * "javadoc" which will generate javadocs for that target. */ import com.android.internal.doclava.DoclavaJavadocOptionFileOption def DOCSDIR = "$rootDir/frameworks/opt/setupwizard/tools/docs" android.libraryVariants.all { variant -> if (variant.buildType.name.equals(com.android.builder.core.BuilderConstants.DEBUG)) { return; // Skip debug builds. } def suffix = variant.name.capitalize() def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) { title = null source variant.javaCompile.source classpath = files(variant.javaCompile.classpath.files) + files( "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar") exclude '**/R.java' exclude '**/R.html', '**/R.*.html' exclude '**/BuildConfig.java' options { bootClasspath = files(android.getBootClasspath()).asType(List) doclet = 'com.google.doclava.Doclava' docletpath = files("$DOCSDIR/doclava.jar", "$DOCSDIR/jsilver.jar").asType(List) addOption(new DoclavaJavadocOptionFileOption('offlinemode')) addOption(new DoclavaJavadocOptionFileOption('federate')) .setValue(['Android', 'http://developer.android.com']) addOption(new DoclavaJavadocOptionFileOption('federationapi')) .setValue(['Android', file("$DOCSDIR/android-22.txt").canonicalPath]) addStringOption('templatedir', file("$rootDir/external/doclava/res/assets/templates-sdk").canonicalPath) } dependsOn(variant.assemble) doLast { println "Docs generated: file://${project.docsDir}/javadoc/reference/index.html" } } }