How to generate javadoc for android library when it has dependencies which are also aar libraries?

前端 未结 5 1561
遥遥无期
遥遥无期 2020-12-19 06:47

I have android library project which depends on other android library projects. I need to generate javadoc for library but it fails because gradle puts to javadoc classpath

5条回答
  •  执笔经年
    2020-12-19 07:20

    This is how I solved this issue, using zipTree. Configuration: Gradle 4.10, Gradle Plugin: 3.3.2, Android Studio: 3.4.

    task javadoc(type: Javadoc) {
    
        doFirst {
            configurations.implementation
                    .filter { it.name.endsWith('.aar') }
            .each { aar ->
                copy {
                    from zipTree(aar)
                    include "**/classes.jar"
                    into "$buildDir/tmp/aarsToJars/${aar.name.replace('.aar', '')}/"
                }
            }
        }
    
        configurations.implementation.setCanBeResolved(true)
        source = android.sourceSets.main.java.srcDirs
        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
        classpath += configurations.implementation
        classpath += fileTree(dir: "$buildDir/tmp/aarsToJars/")
        destinationDir = file("${project.buildDir}/outputs/javadoc/")
        failOnError false
        exclude '**/BuildConfig.java'
        exclude '**/R.java'
    }
    

提交回复
热议问题