@@ -43,8 +43,9 @@ configure<LibraryExtension> {
4343 consumerProguardFiles(rootProject.file(" consumer.pro" ).absolutePath)
4444 }
4545
46+ @Suppress(" UnstableApiUsage" )
4647 sourceSets {
47- getByName (" main" ) {
48+ named (" main" ) {
4849 java.directories.add(" src/main/java" )
4950 }
5051 }
@@ -118,6 +119,12 @@ dependencies {
118119 dokkaPlugin(libs.dokka.android.documentation.plugin)
119120}
120121
122+ // Gradle 9.0 deprecation fix
123+ val implCls: Configuration by configurations.creating {
124+ extendsFrom(configurations.getByName(" implementation" ))
125+ isCanBeResolved = true
126+ }
127+
121128// Dokka generation
122129dokka {
123130
@@ -129,6 +136,7 @@ dokka {
129136
130137 sourceRoots.from(
131138 files(File (" ${sdkDirectory} /platforms/${compileSdk} /android.jar" )),
139+ fileTree(project.file(" build/tmp/aarsToJars" ).absolutePath),
132140 " ${projectDir.absolutePath} /src/main/java"
133141 )
134142
@@ -159,6 +167,31 @@ dokka {
159167 }
160168}
161169
170+ val extractAar by tasks.registering(DefaultTask ::class ) {
171+ doFirst {
172+ // extract AAR files
173+ implCls.files
174+ .filter { it.name.endsWith(" .aar" ) }
175+ .forEach { aar: File ->
176+ copy {
177+ from(zipTree(aar))
178+ include(" **/classes.jar" )
179+ into(project.file(" build/tmp/aarsToJars/${aar.name.replace(" .aar" , " " )} /" ))
180+ }
181+ }
182+
183+ // provide JAR, which contains the generated data-binding classes
184+ val aarMain = project.file(" build/intermediates/aar_main_jar" )
185+ if (aarMain.exists()) {
186+ copy {
187+ from(aarMain)
188+ include(" **/classes.jar" )
189+ into(project.file(" build/tmp/aarsToJars/aar_main_jar/" ))
190+ }
191+ }
192+ }
193+ }
194+
162195val dokkaGenerateJavadocJar by tasks.registering(Jar ::class ) {
163196 group = " dokka"
164197 dependsOn(tasks.dokkaGeneratePublicationJavadoc)
@@ -189,6 +222,7 @@ val dokkaCleanHtml by tasks.registering(Delete::class) {
189222
190223tasks.dokkaGeneratePublicationJavadoc.dependsOn(dokkaCleanJavadoc)
191224tasks.dokkaGeneratePublicationHtml.dependsOn(dokkaCleanHtml)
225+ tasks.dokkaGenerate.dependsOn(extractAar)
192226
193227val dokkaClean by tasks.registering {
194228 group = " dokka"
0 commit comments