web-dev-qa-db-fra.com

Comment générer du javadoc avec Gradle?

Je voudrais générer javadoc à partir d'un fichier lib aar, mais ma tâche réelle ne fonctionne pas et se termine avec une erreur. Je suis un peu perdu avec Gradle.

Où devrait générer des javadocs?

Android.libraryVariants.all { variant ->

    // This part is for change AAR location
    variant.outputs.each { output ->
        def outputFile = output.outputFile
        if (outputFile != null && outputFile.name.endsWith('.aar')) {
            def fileName = "${archivesBaseName}-${version}.aar"
            output.outputFile = new File("$rootProject.projectDir/build/generated-aar", fileName)
        }
    }

    // Here generate tasks for variant to generate Javadocs
    task "generate${variant.name.capitalize()}Javadoc"(type: Javadoc) {
        description = "Generates javadoc for build $variant.name"
        destinationDir = new File("$rootProject.projectDir/build/generated-javadoc", variant.baseName)

        // add SDK classes
        source = variant.javaCompiler.source

        ext.androidJar = "${Android.sdkDirectory}/platforms/${Android.compileSdkVersion}/Android.jar"
        classpath = files(variant.javaCompiler.classpath.files) + files(ext.androidJar)

        ext.androidDoc = "${Android.sdkDirectory}/docs/reference"

        options.linksOffline("http://d.Android.com/reference", ext.androidDoc)
        options.links("http://docs.Oracle.com/javase/7/docs/api/")
        options.links("http://d.Android.com/reference/")

        exclude '*BuildConfig.Java'
        exclude '*R.Java'
        exclude '*impl*'
        exclude '*tests*'
    }
}
9

Si vous suivez la structure de projet standard, utilisez:

apply plugin: 'Java'

javadoc {
    source = sourceSets.main.allJava
    classpath = configurations.compile
}

Si ce n'est pas le cas, vous devez spécifier la fermeture include. Ajoutez la fermeture comme:

include 'path/to/directory/*'

Si la fermeture d'inclusion ne fonctionne pas, ajoutez sourceSet fermeture avec srcDir pointant vers le module/Java répertoire:

sourceSets {
    build {
        Java.srcDir file('src/main/Java')

    }
}

Et après cette course $gradle javadoc commande. Vérifiez ensuite dans votre répertoire de construction les fichiers html contenant tous les javadocs. Remarque: Remplacez srcDir par le chemin d'accès à votre package racine.

15
Abhijit Maity