Gradle, Javadoc et Android documentation
Je suis maintenant à l'aide de Gradle pour tous mes projets, et de même pour la génération de la 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 j'ai tout travail, sauf une chose: faire régulièrement de l'API Android objets comme Activité, Bitmap, etc.
Java les liens fonctionnent très bien.
La finale de la documentation générée n'est pas lien à http://d.android.com/reference.
J'ai essayé les deux options.liens() et options.linksOffline()
sans succès.
MODIFIER
Grâce à @ejb, le problème est que vous ne pouvez pas fournir de multiples options.links()
en même temps.
J'ai donc utilisé à la fois options.links()
de Java documentation et options.linksOffline()
pour Android documentation:
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");
}
Vous devez vous connecter pour publier un commentaire.
J'ai pu avec succès lien vers 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).
Donc il y a autre chose qui cloche ici.
Vous avez à construire la javadoc en mode hors connexion, comme il ne semble pas le
package-list
est disponible sur le chemin du service web. Peut-être le double de vérifier que vous avez les docs chargé localement, et assurez-vous qu'il est unpackage-list
dans le/[android-sdk]/docs/reference
répertoire.Si vous ne pouvez toujours pas comprendre, peut-être, vous pouvez poster à la sortie.
Une autre chose que vous pourriez faire est de vérifier les
./build/tmp/[taskname]/javadoc.options
, lehead
du dit fichier doit afficher les options appropriées établies avec soin. Choses à vérifier pour comprendre l'inclusion de la android.jar dans le classpath et la présence de linksOffline avec les arguments:-linksoffline extDocURL packageListLoc
javadoc.options
devrait avoir les deux options avec seulement des arguments:MODIFIER:
android.getBootClasspath()
est plus agréable, grâce à la P-chan.package-list
est présent,[android-sdk]/docs/reference
est présent,build/tmp/generatereleaseJavadoc/javadoc.options
en effet contient-link 'http://d.android.com/reference/'
etc. J'ai aussi essayé les dates exactes de votre Gradle tâche... rien ne change 🙁android.plugin.sdkDirectory
àandroid.sdkDirectory
.-linksoffline http://d.android.com/reference [sdkdir]/docs/reference
, pas seulement-links http://d.android.com/reference
?javadoc.options
fichier généréhead javadoc.options
sur pastebin ou comme un résumé?http://d.android.com/reference
ne devrait pas être inclus dans le-links
option.-links
suffit d'avoir l'Oracle javadoc lien...javadoc: error - invalid flag: -linkoffline
.linksOffline
(chameau, casquettes).Pour Android plugin Gradle 1.1.2+ (com.android.outils.construire:gradle:1.1.+)
libraryVariants - ne fonctionne plus
utilisation:
destinationDir = file("../javadoc/") - localiser la documentation javadoc à la racine du répertoire du projet (de cette façon, jenkins javadoc plugin peut trouver et afficher dans le Document spécial panneau)
failOnError faux - pour supprimer les avertissements qui peuvent causer l'échec de build jenkins
Alternative pour Gradle JavaDocs
Doxygen - croix de la documentation de référence de l'outil.
pourrait être exécuté à partir de l'INTERFACE utilisateur ou un terminal: http://www.doxygen.nl/manual/doxygen_usage.html
Générer javadoc disponible jeter java outil: 'javadoc'
exécuté en ligne de commande:
docs - dossier de destination
libraryVariants
encore du travail pour moi que de Gradle 1.1.0 ET votre code ne fonctionne que pour Gradle 1.1.2+ en raison de code.google.com/p/android/issues/detail?id=152811 mais merci pour la mise à jourclasspath += configurations.compile
avant la ligne qui définit le chemin de la classe. Sans cela il ne serait pas découvrir les méthodes à partir du POT de bibliothèques que j'avais dans mon projet.