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*'
}
}
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.