2017-09-01 1 views
2

Ich möchte Javadoc aus aar Lib-Datei generieren, aber meine eigentliche Aufgabe nicht arbeiten und mit Fehler beenden. Mit Gradle bin ich etwas verloren.Wie generieren Sie Javadoc mit Gradle?

Wo sollte Javadocs generieren?

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*' 
    } 
} 
+0

Vielleicht könnten Sie den Fehler hinzufügen, der den Build fehlschlägt? – dpr

Antwort

4

Wenn Sie Standard-Projektstruktur folgen dann verwenden:

apply plugin: 'java' 

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

Wenn nicht, dann müssen Sie den Verschluss umfassen angeben. Fügen Sie den Verschluss wie:

include 'path/to/directory/*' 

Wenn Schließung ist, nicht die sourceSet Verschluss mit srcdir zeigt auf das Modul/java-Verzeichnis hinzuzufügen arbeiten:

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

    } 
} 

Und nach diesem Lauf $gradle javadoc Befehl. Dann überprüfen Sie Ihr Build-Verzeichnis für HTML-Dateien mit allen Javadocs. Hinweis: Ersetzen Sie srcDir durch Ihren Root-Paketpfad.

+0

Ich habe android.library Plugin und Maven Plugin. –

+0

Ich versuche 'include **/* .java' aber ohne Ergebnisse –

Verwandte Themen