I am trying to generate a Javadoc to be saved on my desktop for my project by using a task in the Gradle.
This is my code in the build.gradle:
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
}
task generateJavadoc() {
group "reporting"
description "Generates Javadoc."
}
android.libraryVariants.all { variant ->
def task = project.tasks.create("generate${variant.name.capitalize()}Javadoc", Javadoc) {
title "API Documentation (${project.android.defaultConfig.versionName})"
group "ApiDoc"
description "Generates Javadoc for $variant.name."
destinationDir = reporting.file("/home/<user>/Desktop/myJavaDoc") //optional
// Source files from the variant
source = variant.sourceSets.collect { it.java.sourceFiles }.inject { m, i -> m + i }
// To fix issue: Error: Can not create variant 'android-lint' after configuration ': library: debugRuntimeElements' has been resolved
doFirst {
classpath = project.files(variant.javaCompileProvider.get().classpath.files,
project.android.getBootClasspath())
}
if (JavaVersion.current().isJava8Compatible()) {
options.addStringOption('Xdoclint:none', '-quiet')
}
exclude "**/R"
exclude "**/R.**"
exclude "**/R\$**"
exclude "**/BuildConfig*"
//exclude "**/sdk/BuildConfig"
exclude '**/*.kt'
if (JavaVersion.current().isJava8Compatible()) {
options.addStringOption('Xdoclint:none', '-quiet')
}
options.windowTitle = "API Documentation (${project.android.defaultConfig.versionName})"
options.memberLevel = JavadocMemberLevel.PROTECTED
options.linkSource false
options.author = false
failOnError true
}
task.dependsOn "assemble${variant.name.capitalize()}"
generateJavadoc.dependsOn task
}
dependencies {
....
I excluded the BuildConfig, but still, the task fails saying "cannot find symbol class BuildConfig":
error: cannot find symbol import com.name.sdk.BuildConfig; ^ symbol: class BuildConfig location: package com.name.sdk
I already tried to invalidate the cache, clean and rebuild the project without success.
I also added as suggested in previous question about the topic:
buildConfigField "String", "FOO", ""foo""
but even doing so did not solve the problem
What am I doing wrong?