Documentation Gradle, Javadoc et Android
J'utilise maintenant Gradle pour tous mes projets, et même pour la génération javadoc.
android.libraryVariants.all { variant ->
task("generate${variant.name}Javadoc", type: Javadoc) {
title = "$name $version API"
source = variant.javaCompile.source
ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
ext.googlePlayServicesJar = "${android.plugin.sdkDirectory}/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"
classpath = files(variant.javaCompile.classpath.files, ext.androidJar, ext.googlePlayServicesJar)
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
//options.linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
}
avec ce code, Tout fonctionne, sauf une chose: les objets ordinaires de L'API Android comme Activity, Bitmap, etc. Les liens de Java fonctionnent bien.
La finale de la documentation générée n' lien à http://d.android.com/reference.
J'ai essayé les deux options.liens() et options.linksOffline()
sans succès.
EDIT
grâce à @ejb, le problème est que vous ne pouvez pas fournir plusieurs options.links()
en même temps.
J'ai donc utilisé à la fois options.links()
pour la documentation de Java et <!-Pour la documentation de Android:
options {
links("http://docs.oracle.com/javase/7/docs/api/");
linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
//stylesheetFile = new File(projectDir, "stylesheet.css");
}
2 réponses
j'ai pu avec succès lien http://d.android.com/reference à l'aide de l'extrait de code suivant qui est fonctionnellement exactement ce que vous avez (autant que je puisse en dire).
android.libraryVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
// title = ''
// description = ''
source = variant.javaCompile.source
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
options {
links "http://docs.oracle.com/javase/7/docs/api/"
linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
}
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
}
il y a donc autre chose qui ne va pas ici.
vous devez construire le javadoc hors ligne, comme il ne semble pas le package-list
est disponible sur le chemin du service web. Vérifiez peut-être que vous avez chargé les documents localement, et assurez-vous que il y a un package-list
dans le /[android-sdk]/docs/reference
répertoire.
si vous ne pouvez toujours pas le comprendre, peut-être que vous pourriez afficher la sortie.
une autre chose que vous pouvez vérifier est le ./build/tmp/[taskname]/javadoc.options
, le head
de ce fichier doit montrer les options appropriées soigneusement définies. Choses à vérifier pour comprendre l'inclusion de l'androïde.jar dans le-classpath et la présence de linksOffline avec les arguments attendus:-linksoffline extDocURL packageListLoc
javadoc.options
devrait avoir les deux options avec seulement les arguments respectifs:
-linksoffline 'http://d.android.come/reference' '[sdkDir]/docs/reference'
-links 'http://docs.oracle.com/javase/7/docs/api/'
EDIT:android.getBootClasspath()
est plus agréable, grâce à la P-chan.
Android plugin Gradle 1.1.2+ (com.Android.outils.construire:gradle:1.1.+)
libraryVariants - ne fonctionne plus
utilisation:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
destinationDir = file("../javadoc/")
failOnError false
}
destinationDir = file ("../ javadoc/") - localisez javadocs à la racine du répertoire de projet (de cette façon jenkins Javadoc plugin pourrait le trouver et l'afficher dans le panneau de Document spécial)
failOnError false - pour supprimer les avertissements qui peut causer l'échec construire sur jenkins
Alternative pour Gradle Javadoc
Doxygen - outil de documentation de références croisées.
peut être exécuté à partir de L'interface utilisateur ou du terminal:http://www.stack.nl/~dimitri/doxygen/manual/doxygen_usage.html
Génération javadoc disponible jeter java outil: ' javadoc'
exécuter de commande ligne:
javadoc -d docs -sourcepath app/src/main/java -subpackages com
docs - dossier de destination