Home | History | Annotate | Download | only in gradle
      1 /**
      2  * A helper gradle file to generate documentation using doclava.
      3  * Include this file using `apply from` in the gradle build file. This will generate new tasks
      4  * "javadoc<Variant>" which will generate javadocs for that target.
      5  */
      6 
      7 import com.android.internal.doclava.DoclavaJavadocOptionFileOption
      8 
      9 def DOCSDIR = "$rootDir/frameworks/opt/setupwizard/tools/docs"
     10 
     11 android.libraryVariants.all { variant ->
     12     if (variant.buildType.name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
     13         return; // Skip debug builds.
     14     }
     15     def suffix = variant.name.capitalize()
     16 
     17     def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) {
     18         title = null
     19         source variant.javaCompile.source
     20         classpath = files(variant.javaCompile.classpath.files) + files(
     21                 "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar")
     22         exclude '**/R.java'
     23         exclude '**/R.html', '**/R.*.html'
     24         exclude '**/BuildConfig.java'
     25 
     26         options {
     27             bootClasspath = files(android.getBootClasspath()).asType(List)
     28             doclet = 'com.google.doclava.Doclava'
     29             docletpath = files("$DOCSDIR/doclava.jar", "$DOCSDIR/jsilver.jar").asType(List)
     30 
     31             addOption(new DoclavaJavadocOptionFileOption('offlinemode'))
     32             addOption(new DoclavaJavadocOptionFileOption('federate'))
     33                     .setValue(['Android', 'http://developer.android.com'])
     34 
     35             addOption(new DoclavaJavadocOptionFileOption('federationapi'))
     36                     .setValue(['Android', file("$DOCSDIR/android-22.txt").canonicalPath])
     37             addStringOption('templatedir',
     38                     file("$rootDir/build/tools/droiddoc/templates-sdk-dev").canonicalPath)
     39         }
     40 
     41         dependsOn(variant.assemble)
     42 
     43         doLast {
     44             println "Docs generated: file://${project.docsDir}/javadoc/reference/index.html"
     45         }
     46     }
     47 }
     48