Android Gradle Javadoc nach dem Upgrade auf Gradle 7 gebrochenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Android Gradle Javadoc nach dem Upgrade auf Gradle 7 gebrochen

Post by Anonymous »

Ich habe auf die neue Veröffentlichung von Android Studio Arctic Fox aktualisiert, für die jetzt auch Gradle 7 < /p>
Vor dem Upgrade die folgende Javadoc-Aufgabe hatte, die perfekt funktioniert hat: < /p>
< /p>

Code: Select all

def javaDocsAllowList = [
"com/mycompany/SomeFile.java",
"com/mycompany/OtherFile.java",
...
]

task javadocs(type: Javadoc) {
source android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.compile
include javaDocsAllowList
destinationDir = file("./docs/javadoc")
}
< /code>
Jetzt ist alles kaputt.Could not get unknown property 'compile' for configuration container of type org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer
Ich ändere also die ClassPath-Zeile in:

Code: Select all

classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
< /code>
Dann erhalte ich: < /p>
Resolving dependency configuration 'implementation' is not allowed as it is defined as 'canBeResolved=false'.
Ich füge also hinzu:

Code: Select all

configurations.implementation.setCanBeResolved(true)
< /code>
Dann erhalte ich eine Reihe von Fehlern, dass es kein Symbol für @Nullable und andere Attribute finden kann.afterEvaluate {
javadocs.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
< /code>
Dies behebt die Fehler, die @nonnull usw. auflösenvoid addNotificationsListener(@NonNull NotificationsListener listener);
(Symbolbenachrichtigungen nicht finden. Aufgabe :) < /p>

Code: Select all

task javadocs(type: Javadoc) {
source android.sourceSets.main.java.srcDirs
configurations.implementation.setCanBeResolved(true)

classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
include javaDocsAllowList
destinationDir = file("./docs/javadoc")

afterEvaluate {
javadocs.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
}
Update: Basierend auf der vorgeschlagenen GIST https://gist.github.com/roByer/a6578e60 ... 3a1291f017, ich änderte meine Aufgabe.

Code: Select all

task javadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
owner.classpath += variant.javaCompileProvider.get().classpath
}
}
include javaDocsAllowList
destinationDir = file("./docs/javadoc")
}
< /code>
Dies macht jedoch keinen Unterschied; Es wird immer noch den gleichen Fehler, bei dem es meinen eigenen Code nicht [url=viewtopic.php?t=23756]beheben[/url] kann: < /p>
void addNotificationsListener(@NonNull NotificationsListener listener);
(Symbolbenachrichtigungen nicht finden) `

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post