mikepenz / AboutLibraries

AboutLibraries automatically collects all dependencies and licenses of any gradle project (Kotlin MultiPlatform), and provides easy to integrate UI components for Android and Compose-jb environments
http://mikepenz.github.io/AboutLibraries/
Apache License 2.0
3.68k stars 423 forks source link

Reduce noise of AmbiguousArtifactVariantsException logs even more #990

Closed sebokopter closed 5 months ago

sebokopter commented 6 months ago

Follow-up to #955 and #956

Summary

Even after the the latest changes in #956, our code base is still flooded/spammed by the AmbiguousArtifactVariantsException logs.

We have a quite large amount of flavor dimensions with 4 different flavors. This many flavors probably causes more cluttering logs than in many other code bases. So we are especially affect.

Therefore I'd like to propose to reduce the log noise even more.

Background

AmbiguousArtifactVariantsException Insights

The content of the AmbiguousArtifactVariantsException message is the following:

The consumer was configured to find a library for use during runtime, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '8.4.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.ProductFlavor:appType' with value 'standalone', attribute 'com.android.build.api.attributes.ProductFlavor:endpoint' with value 'dev', attribute 'com.android.build.api.attributes.ProductFlavor:platform' with value 'androidtv', attribute 'com.android.build.api.attributes.ProductFlavor:tenant' [...]
  [...]
  - Configuration
  [...]
  - Configuration ':core:tenantADebugRuntimeElements' variant supported-locale-list declares a library for use during runtime, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '8.4.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.ProductFlavor:tenant' with value 'tenantA', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
      - Unmatched attributes:
          - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:appType (required 'standalone')
          - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:endpoint (required 'dev')
          - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:platform (required 'androidtv')
          - Provides attribute 'artifactType' with value 'supported-locale-list' but the consumer didn't ask for it
          - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'tenantADebug' but the consumer didn't ask for it
          - Provides attribute 'tenant' with value 'tenantA' but the consumer didn't ask for it

So printing "only" the message of this AmbiguousArtifactVariantsException exception is already adding a lot of noise to the Gradle logs. The message alone can take up to 157 lines when using four Android flavor dimensions. And this exception is thrown multiple times. In the case of four flavor dimensions 30 times (30*157=4710 lines).

The current isDebugEnabled condition is seemingly inverted

Printing the exception stacktrace for non-debug logs is likely unwanted and "only" the message for debug log.

The isDebugEnabled else condition is currently always printed

LOGGER.warn is always printed (because isWarnEnabled is always true). Therefore the (expected) AmbiguousArtifactVariantsException exception is always logged.

Plugin Users Point Of View

AmbiguousArtifactVariantsException is for the plugin consumers not actionable at the moment. So any details about it is not adding value, but only clutters the users log output.

Pull Request Changes

With the insights from above this Change Request disables by default any output of the AmbiguousArtifactVariantsException exception. It is not actionable for the plugin users and therefore should not be shown by default.

Slightly more information can be requested via the Gradle --info CLI parameter (isInfoEnabled) where only the an hint is printed, that there's an ambiguity in the resolved config, and no further details.

Debugging information can be requsted via Gradle --debug CLI parameter (isDebugEnabled) which provides the complete exception with all the details.

mikepenz commented 6 months ago

Thank you so much for the PR. The behavior was intentional before, with the major difference being the log to contain the stacktrace vs not.

However, I can see how that might still cause a lot of logs, especially for significantly more complex projects. I'll try to come to review this one as soon as possible.

sebokopter commented 5 months ago

@mikepenz thanks for your quick reply :smiley:

Regarding the stacktrace: Shouldn't the debug log in this case contain the warning with the stacktrace, and currently the non-debug logs have the additional stacktrace attached.

Two other implementations could be:

sebokopter commented 5 months ago

@mikepenz Thanks for the approval and merge 🙏

Do you have an estimate when then next release will happen?

mikepenz commented 5 months ago

I might be able to get out a new build sometimes this week.

androidacy-user commented 5 months ago

We still see a while lot of log spam.... we're talking hundreds of lines of logs in GH Actions and local builds, even after the latest release. Is there a way to turn that off?

mikepenz commented 5 months ago

Can you please provide more details @androidacy-user

androidacy-user commented 5 months ago

Can you please provide more details @androidacy-user

  • which log messages do you see
  • what's your log level (logs will show for info and debug log levels)
  • how do you run the gradle task

1). Dozens of the same messages as mentioned in the OP 2) We don't set it (so whatever the norm is) 3) Android studio build or GitHub actions via ./gradlew build

sebokopter commented 5 months ago

@androidacy-user Did you set org.gradle.logging.level in the gradle.properties file, either the one in the Gradle project or the one in your Gradle user home directory (e.g. $HOME/.gradle/gradle.properties)? And if so what is its value?

And can you please post the output of ./gradlew buildEnvironment?

androidacy-user commented 5 months ago

@androidacy-user Did you set org.gradle.logging.level in the gradle.properties file, either the one in the Gradle project or the one in your Gradle user home directory (e.g. $HOME/.gradle/gradle.properties)? And if so what is its value?

And can you please post the output of ./gradlew buildEnvironment?

1) No, as I said, I never touched it 2) Can that command run from Studio? I don't happen to have a proper env setup for standalone gradle locally

androidacy-user commented 5 months ago

Here's a "small" sample of what is spamming the logs. Note that i had to remove stacktraces to stay under github's char limit, it was 3000+ lines originally.

Note that the studio build is single variant in general, but we have multiple sub-projects. Actions builds are all variants.

Expand

Here's the result of running the buildEnvironment task from android studio:

Output ```groovy > Task :buildEnvironment ------------------------------------------------------------ Root project 'Androidacy Module Manager' ------------------------------------------------------------ classpath +--- com.android.application:com.android.application.gradle.plugin:8.4.1 | \--- com.android.tools.build:gradle:8.4.1 | +--- com.android.tools.build:gradle-settings-api:8.4.1 | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 1.9.22 | | | +--- org.jetbrains:annotations:13.0 | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.23 (c) | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.23 (c) | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 (c) | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23 | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 1.9.22 (*) | +--- com.android.tools:sdk-common:31.4.1 | | +--- com.android.tools.analytics-library:shared:31.4.1 | | | +--- com.android.tools.analytics-library:protos:31.4.1 | | | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | | +--- com.android.tools:annotations:31.4.1 | | | +--- com.android.tools:common:31.4.1 | | | | +--- com.android.tools:annotations:31.4.1 | | | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre | | | | | +--- com.google.guava:failureaccess:1.0.1 | | | | | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava | | | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | | | +--- org.checkerframework:checker-qual:3.37.0 | | | | | \--- com.google.errorprone:error_prone_annotations:2.21.1 | | | | +--- net.java.dev.jna:jna-platform:5.6.0 | | | | | \--- net.java.dev.jna:jna:5.6.0 | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | | +--- com.google.code.gson:gson:2.10.1 | | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | | +--- net.java.dev.jna:jna-platform:5.6.0 (*) | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | +--- com.android.tools.build:aapt2-proto:8.4.1-11315950 | | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | +--- com.android.tools:common:31.4.1 (*) | | +--- com.android.tools.ddms:ddmlib:31.4.1 | | | +--- com.android.tools:common:31.4.1 (*) | | | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | | +--- net.sf.kxml:kxml2:2.3.0 | | | \--- org.jetbrains:annotations:23.0.0 -> 13.0 | | +--- com.android.tools.layoutlib:layoutlib-api:31.4.1 | | | +--- com.android.tools:annotations:31.4.1 | | | +--- com.android.tools:common:31.4.1 (*) | | | +--- net.sf.kxml:kxml2:2.3.0 | | | \--- org.jetbrains:annotations:23.0.0 -> 13.0 | | +--- com.android.tools:sdklib:31.4.1 | | | +--- com.android.tools:repository:31.4.1 | | | | +--- com.android.tools.analytics-library:shared:31.4.1 (*) | | | | +--- com.android.tools:common:31.4.1 (*) | | | | +--- com.google.jimfs:jimfs:1.1 | | | | | \--- com.google.guava:guava:18.0 -> 32.1.3-jre (*) | | | | +--- com.sun.activation:javax.activation:1.2.0 | | | | +--- org.apache.commons:commons-compress:1.21 | | | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 | | | | | +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 | | | | | | \--- jakarta.activation:jakarta.activation-api:1.2.1 | | | | | +--- org.glassfish.jaxb:txw2:2.3.2 | | | | | +--- com.sun.istack:istack-commons-runtime:3.0.8 | | | | | | \--- jakarta.activation:jakarta.activation-api:1.2.1 | | | | | +--- org.jvnet.staxex:stax-ex:1.8.1 | | | | | | +--- jakarta.activation:jakarta.activation-api:1.2.1 | | | | | | \--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 (*) | | | | | +--- com.sun.xml.fastinfoset:FastInfoset:1.2.16 | | | | | \--- jakarta.activation:jakarta.activation-api:1.2.1 | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | | +--- com.android.tools:common:31.4.1 (*) | | | +--- com.android.tools:dvlib:31.4.1 | | | | \--- com.android.tools:common:31.4.1 (*) | | | +--- com.android.tools.layoutlib:layoutlib-api:31.4.1 (*) | | | +--- com.google.code.gson:gson:2.10.1 | | | +--- org.apache.commons:commons-compress:1.21 | | | +--- org.apache.httpcomponents:httpcore:4.4.16 | | | +--- org.apache.httpcomponents:httpmime:4.5.6 | | | | \--- org.apache.httpcomponents:httpclient:4.5.6 -> 4.5.14 | | | | +--- org.apache.httpcomponents:httpcore:4.4.16 | | | | +--- commons-logging:commons-logging:1.2 | | | | \--- commons-codec:commons-codec:1.11 -> 1.16.0 | | | \--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*) | | +--- com.google.code.gson:gson:2.10.1 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | +--- javax.inject:javax.inject:1 | | +--- net.sf.kxml:kxml2:2.3.0 | | +--- org.bouncycastle:bcpkix-jdk18on:1.77 | | | +--- org.bouncycastle:bcprov-jdk18on:1.77 | | | \--- org.bouncycastle:bcutil-jdk18on:1.77 | | | \--- org.bouncycastle:bcprov-jdk18on:1.77 | | +--- org.bouncycastle:bcprov-jdk18on:1.77 | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*) | | +--- org.jetbrains.intellij.deps:trove4j:1.0.20200330 | | +--- org.jetbrains.kotlin:kotlin-reflect:1.9.20 -> 1.9.22 | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | +--- com.android.tools:sdklib:31.4.1 (*) | +--- com.android.tools:repository:31.4.1 (*) | +--- com.android.tools.ddms:ddmlib:31.4.1 (*) | +--- com.android.tools.build:aapt2-proto:8.4.1-11315950 (*) | +--- com.android.tools.build:aaptcompiler:8.4.1 | | +--- com.android.tools.build:aapt2-proto:8.4.1-11315950 (*) | | +--- com.android.tools.layoutlib:layoutlib-api:31.4.1 (*) | | +--- com.android.tools:common:31.4.1 (*) | | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | +--- com.android.tools.analytics-library:crash:31.4.1 | | +--- com.android.tools:annotations:31.4.1 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | +--- org.apache.httpcomponents:httpclient:4.5.14 (*) | | +--- org.apache.httpcomponents:httpcore:4.4.16 | | \--- org.apache.httpcomponents:httpmime:4.5.6 (*) | +--- com.android.tools.analytics-library:shared:31.4.1 (*) | +--- com.android.tools.lint:lint-model:31.4.1 | | +--- com.android.tools.build:builder-model:8.4.1 | | | +--- com.android.tools:annotations:31.4.1 | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | +--- com.android.tools:common:31.4.1 (*) | | +--- com.android.tools:sdk-common:31.4.1 (*) | | +--- net.sf.kxml:kxml2:2.3.0 | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | +--- com.android.tools.lint:lint-typedef-remover:31.4.1 | | +--- com.android.tools:annotations:31.4.1 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | \--- org.ow2.asm:asm:9.6 -> 9.7 | +--- androidx.databinding:databinding-compiler-common:8.4.1 | | +--- androidx.databinding:databinding-common:8.4.1 | | +--- com.android.databinding:baseLibrary:8.4.1 | | +--- com.android.tools:annotations:31.4.1 | | +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 | | | +--- com.google.code.gson:gson:2.8.0 -> 2.10.1 | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 1.9.22 (*) | | +--- com.google.code.gson:gson:2.10.1 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | +--- com.googlecode.juniversalchardet:juniversalchardet:1.0.3 | | +--- com.squareup:javapoet:1.10.0 | | +--- commons-io:commons-io:2.13.0 -> 2.15.1 | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | +--- androidx.databinding:databinding-common:8.4.1 | +--- com.android.databinding:baseLibrary:8.4.1 | +--- com.android.tools.build:builder-test-api:8.4.1 | | +--- com.android.tools.ddms:ddmlib:31.4.1 (*) | | +--- com.android.tools:annotations:31.4.1 | | +--- com.android.tools:common:31.4.1 (*) | | \--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | +--- com.android.tools.layoutlib:layoutlib-api:31.4.1 (*) | +--- com.android.tools.utp:android-device-provider-ddmlib-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-device-provider-gradle-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-coverage-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.4.1 | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-logcat-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.4.1 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-host-retention-proto:31.4.1 | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.4.1 | | +--- com.google.code.gson:gson:2.10.1 | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | +--- io.grpc:grpc-core:1.57.0 | | | +--- io.grpc:grpc-api:1.57.0 -> 1.59.1 | | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | | +--- com.google.errorprone:error_prone_annotations:2.20.0 -> 2.21.1 | | | | \--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | | +--- com.google.code.gson:gson:2.10.1 | | | +--- com.google.android:annotations:4.1.1.4 | | | +--- org.codehaus.mojo:animal-sniffer-annotations:1.23 | | | +--- com.google.errorprone:error_prone_annotations:2.18.0 -> 2.21.1 | | | +--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | | +--- io.perfmark:perfmark-api:0.26.0 | | | \--- io.grpc:grpc-context:1.57.0 | | | \--- io.grpc:grpc-api:1.57.0 -> 1.59.1 (*) | | +--- io.grpc:grpc-netty:1.57.0 | | | +--- io.grpc:grpc-core:1.57.0 (*) | | | +--- io.netty:netty-codec-http2:4.1.93.Final | | | | +--- io.netty:netty-common:4.1.93.Final | | | | +--- io.netty:netty-buffer:4.1.93.Final | | | | | \--- io.netty:netty-common:4.1.93.Final | | | | +--- io.netty:netty-transport:4.1.93.Final | | | | | +--- io.netty:netty-common:4.1.93.Final | | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | | \--- io.netty:netty-resolver:4.1.93.Final | | | | | \--- io.netty:netty-common:4.1.93.Final | | | | +--- io.netty:netty-codec:4.1.93.Final | | | | | +--- io.netty:netty-common:4.1.93.Final | | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | | \--- io.netty:netty-transport:4.1.93.Final (*) | | | | +--- io.netty:netty-handler:4.1.93.Final | | | | | +--- io.netty:netty-common:4.1.93.Final | | | | | +--- io.netty:netty-resolver:4.1.93.Final (*) | | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | | +--- io.netty:netty-transport:4.1.93.Final (*) | | | | | +--- io.netty:netty-transport-native-unix-common:4.1.93.Final | | | | | | +--- io.netty:netty-common:4.1.93.Final | | | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | | | \--- io.netty:netty-transport:4.1.93.Final (*) | | | | | \--- io.netty:netty-codec:4.1.93.Final (*) | | | | \--- io.netty:netty-codec-http:4.1.93.Final | | | | +--- io.netty:netty-common:4.1.93.Final | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | +--- io.netty:netty-transport:4.1.93.Final (*) | | | | +--- io.netty:netty-codec:4.1.93.Final (*) | | | | \--- io.netty:netty-handler:4.1.93.Final (*) | | | +--- io.netty:netty-handler-proxy:4.1.93.Final | | | | +--- io.netty:netty-common:4.1.93.Final | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | +--- io.netty:netty-transport:4.1.93.Final (*) | | | | +--- io.netty:netty-codec:4.1.93.Final (*) | | | | +--- io.netty:netty-codec-socks:4.1.93.Final | | | | | +--- io.netty:netty-common:4.1.93.Final | | | | | +--- io.netty:netty-buffer:4.1.93.Final (*) | | | | | +--- io.netty:netty-transport:4.1.93.Final (*) | | | | | \--- io.netty:netty-codec:4.1.93.Final (*) | | | | \--- io.netty:netty-codec-http:4.1.93.Final (*) | | | +--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | | +--- com.google.errorprone:error_prone_annotations:2.18.0 -> 2.21.1 | | | +--- io.perfmark:perfmark-api:0.26.0 | | | \--- io.netty:netty-transport-native-unix-common:4.1.93.Final (*) | | +--- io.grpc:grpc-protobuf:1.57.0 -> 1.59.1 | | | +--- io.grpc:grpc-api:1.59.1 (*) | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | +--- com.google.protobuf:protobuf-java:3.24.0 | | | +--- com.google.api.grpc:proto-google-common-protos:2.22.0 | | | | \--- com.google.protobuf:protobuf-java:3.23.2 -> 3.24.0 | | | +--- io.grpc:grpc-protobuf-lite:1.59.1 | | | | +--- io.grpc:grpc-api:1.59.1 (*) | | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | | \--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | | \--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | +--- io.grpc:grpc-stub:1.57.0 | | | +--- io.grpc:grpc-api:1.57.0 -> 1.59.1 (*) | | | +--- com.google.guava:guava:32.0.1-android -> 32.1.3-jre (*) | | | \--- com.google.errorprone:error_prone_annotations:2.18.0 -> 2.21.1 | | +--- javax.annotation:javax.annotation-api:1.3.2 | | \--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | +--- com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api | +--- org.apache.httpcomponents:httpmime:4.5.6 (*) | +--- commons-io:commons-io:2.13.0 -> 2.15.1 | +--- org.ow2.asm:asm:9.6 -> 9.7 | +--- org.ow2.asm:asm-analysis:9.6 | | \--- org.ow2.asm:asm-tree:9.6 -> 9.7 | | \--- org.ow2.asm:asm:9.7 | +--- org.ow2.asm:asm-commons:9.6 -> 9.7 | | +--- org.ow2.asm:asm:9.7 | | \--- org.ow2.asm:asm-tree:9.7 (*) | +--- org.ow2.asm:asm-util:9.6 | | +--- org.ow2.asm:asm:9.6 -> 9.7 | | +--- org.ow2.asm:asm-tree:9.6 -> 9.7 (*) | | \--- org.ow2.asm:asm-analysis:9.6 (*) | +--- org.bouncycastle:bcpkix-jdk18on:1.77 (*) | +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*) | +--- net.sf.jopt-simple:jopt-simple:4.9 | +--- com.android.tools.build:bundletool:1.15.6 | | +--- com.android.tools.build:aapt2-proto:7.3.0-alpha07-8248216 -> 8.4.1-11315950 (*) | | +--- com.google.auto.value:auto-value-annotations:1.6.2 | | +--- com.google.errorprone:error_prone_annotations:2.3.1 -> 2.21.1 | | +--- com.google.guava:guava:31.1-jre -> 32.1.3-jre (*) | | +--- com.google.protobuf:protobuf-java:3.19.2 -> 3.24.0 | | +--- com.google.protobuf:protobuf-java-util:3.19.2 -> 3.22.3 | | | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | +--- com.google.code.gson:gson:2.8.9 -> 2.10.1 | | | +--- com.google.errorprone:error_prone_annotations:2.11.0 -> 2.21.1 | | | +--- com.google.guava:guava:31.1-jre -> 32.1.3-jre (*) | | | \--- com.google.j2objc:j2objc-annotations:1.3 | | +--- com.google.dagger:dagger:2.28.3 | | | \--- javax.inject:javax.inject:1 | | +--- javax.inject:javax.inject:1 | | +--- org.bitbucket.b_c:jose4j:0.7.0 | | \--- org.slf4j:slf4j-api:1.7.30 | +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*) | +--- com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10 | | +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*) | | +--- org.ow2.asm:asm:8.0.1 -> 9.7 | | +--- org.ow2.asm:asm-util:8.0.1 -> 9.6 (*) | | +--- org.ow2.asm:asm-commons:8.0.1 -> 9.7 (*) | | +--- org.jdom:jdom2:2.0.6 | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 1.9.22 (*) | +--- com.squareup:javapoet:1.10.0 | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | +--- com.google.protobuf:protobuf-java-util:3.22.3 (*) | +--- com.google.code.gson:gson:2.10.1 | +--- io.grpc:grpc-core:1.57.0 (*) | +--- io.grpc:grpc-netty:1.57.0 (*) | +--- io.grpc:grpc-protobuf:1.57.0 -> 1.59.1 (*) | +--- io.grpc:grpc-stub:1.57.0 (*) | +--- com.google.crypto.tink:tink:1.7.0 | | +--- com.google.protobuf:protobuf-java:3.19.3 -> 3.24.0 | | \--- com.google.code.gson:gson:2.8.9 -> 2.10.1 | +--- com.google.testing.platform:core-proto:0.0.9-alpha02 | +--- net.sf.kxml:kxml2:2.3.0 | +--- com.google.flatbuffers:flatbuffers-java:1.12.0 | +--- org.tensorflow:tensorflow-lite-metadata:0.1.0-rc2 | | +--- org.checkerframework:checker-qual:2.5.8 -> 3.37.0 | | \--- com.google.flatbuffers:flatbuffers-java:1.12.0 | +--- com.android.tools.build:builder:8.4.1 | | +--- com.android.tools.build:builder-model:8.4.1 (*) | | +--- com.android.tools.build:builder-test-api:8.4.1 (*) | | +--- com.android.tools:sdklib:31.4.1 (*) | | +--- com.android.tools:sdk-common:31.4.1 (*) | | +--- com.android.tools:common:31.4.1 (*) | | +--- com.android.tools.ddms:ddmlib:31.4.1 (*) | | +--- com.android:signflinger:8.4.1 | | | +--- com.android.tools:annotations:31.4.1 | | | +--- com.android.tools.build:apksig:8.4.1 | | | \--- com.android:zipflinger:8.4.1 | | | \--- com.android.tools:annotations:31.4.1 | | +--- com.android.tools.analytics-library:protos:31.4.1 (*) | | +--- com.android.tools.analytics-library:tracker:31.4.1 | | | +--- com.android.tools.analytics-library:protos:31.4.1 (*) | | | +--- com.android.tools.analytics-library:shared:31.4.1 (*) | | | +--- com.android.tools:annotations:31.4.1 | | | +--- com.android.tools:common:31.4.1 (*) | | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | | +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.24.0 | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | +--- com.android.tools.layoutlib:layoutlib-api:31.4.1 (*) | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | +--- org.bouncycastle:bcpkix-jdk18on:1.77 (*) | | +--- commons-codec:commons-codec:1.10 -> 1.16.0 | | +--- org.bouncycastle:bcprov-jdk18on:1.77 | | +--- javax.inject:javax.inject:1 | | +--- org.ow2.asm:asm-commons:9.6 -> 9.7 (*) | | +--- com.android.tools.build:manifest-merger:31.4.1 | | | +--- com.android.tools:common:31.4.1 (*) | | | +--- com.android.tools:sdklib:31.4.1 (*) | | | +--- com.android.tools:sdk-common:31.4.1 (*) | | | +--- com.google.code.gson:gson:2.10.1 | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | | | \--- net.sf.kxml:kxml2:2.3.0 | | +--- com.android:zipflinger:8.4.1 (*) | | +--- com.android.tools.build:apksig:8.4.1 | | +--- com.android.tools.build:apkzlib:8.4.1 | | | +--- com.android.tools.build:apksig:8.4.1 | | | +--- com.google.code.findbugs:jsr305:3.0.2 | | | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | | | +--- org.bouncycastle:bcpkix-jdk18on:1.77 (*) | | | \--- org.bouncycastle:bcprov-jdk18on:1.77 | | \--- com.squareup:javawriter:2.5.0 | +--- com.android.tools.build:builder-model:8.4.1 (*) | \--- com.android.tools.build:gradle-api:8.4.1 | +--- com.android.tools.build:builder-test-api:8.4.1 (*) | +--- com.google.guava:guava:32.0.1-jre -> 32.1.3-jre (*) | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20 -> 1.9.23 (*) | \--- org.ow2.asm:asm:9.6 -> 9.7 +--- com.android.library:com.android.library.gradle.plugin:8.4.1 | \--- com.android.tools.build:gradle:8.4.1 (*) +--- org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.0.0 | \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0 | +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.0 (c) | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.0 (c) | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0 (c) | | +--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.0 (c) | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.0 (c) | | +--- org.jetbrains.kotlin:kotlin-native-utils:2.0.0 (c) | | \--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.0 (c) | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.0 (*) | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-native-utils:2.0.0 | | | +--- org.jetbrains.kotlin:kotlin-util-io:2.0.0 | | | \--- org.jetbrains.kotlin:kotlin-util-klib:2.0.0 | | | \--- org.jetbrains.kotlin:kotlin-util-io:2.0.0 | | \--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.0 | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.0 (*) | | \--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.0 (*) | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.0 | | \--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.0 | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.0.0 | | \--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.0.0 (*) | +--- org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.0.0 | | \--- org.jetbrains.kotlin:kotlin-native-utils:2.0.0 (*) | +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.0.0 | +--- org.jetbrains.kotlin:kotlin-build-statistics:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.0.0 | | \--- com.google.code.gson:gson:2.8.9 -> 2.10.1 | +--- org.jetbrains.kotlin:kotlin-compiler-runner:2.0.0 | | +--- org.jetbrains.kotlin:kotlin-daemon-client:2.0.0 | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0 | +--- org.jetbrains.kotlin:kotlin-util-klib:2.0.0 (*) | \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.0 | +--- org.jetbrains.kotlin:kotlin-daemon-embeddable:2.0.0 | \--- org.jetbrains.intellij.deps:trove4j:1.0.20200330 +--- com.mikepenz.aboutlibraries.plugin:com.mikepenz.aboutlibraries.plugin.gradle.plugin:11.1.3 | \--- com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:11.1.3 | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.23 (*) | \--- org.apache.ivy:ivy:2.5.2 +--- com.google.gms.google-services:com.google.gms.google-services.gradle.plugin:4.4.2 | \--- com.google.gms:google-services:4.4.2 | +--- com.google.android.gms:strict-version-matcher-plugin:1.2.4 | | +--- com.google.code.findbugs:jsr305:3.0.2 | | +--- com.google.guava:guava:27.0.1-jre -> 32.1.3-jre (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.9.23 (*) | +--- com.google.code.gson:gson:2.8.5 -> 2.10.1 | +--- com.google.guava:guava:27.0.1-jre -> 32.1.3-jre (*) | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.22 -> 1.9.23 (*) +--- com.google.firebase.crashlytics:com.google.firebase.crashlytics.gradle.plugin:3.0.1 | \--- com.google.firebase:firebase-crashlytics-gradle:3.0.1 | +--- com.google.firebase:firebase-crashlytics-buildtools:3.0.0 | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.23 (*) +--- com.google.firebase.firebase-perf:com.google.firebase.firebase-perf.gradle.plugin:1.4.2 | \--- com.google.firebase:perf-plugin:1.4.2 | +--- org.ow2.asm:asm:9.0 -> 9.7 | \--- org.ow2.asm:asm-commons:9.0 -> 9.7 (*) +--- app.cash.licensee:app.cash.licensee.gradle.plugin:1.11.0 | \--- app.cash.licensee:licensee-gradle-plugin:1.11.0 | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3 | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3 | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) | | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3 | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 (c) | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3 (c) | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3 (c) | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3 (c) | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3 | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) | | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3 (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 (*) | +--- org.apache.maven:maven-model-builder:3.9.6 | | +--- org.codehaus.plexus:plexus-utils:3.5.1 | | +--- org.codehaus.plexus:plexus-interpolation:1.26 | | +--- javax.inject:javax.inject:1 | | +--- org.apache.maven:maven-model:3.9.6 | | | \--- org.codehaus.plexus:plexus-utils:3.5.1 | | +--- org.apache.maven:maven-artifact:3.9.6 | | | +--- org.codehaus.plexus:plexus-utils:3.5.1 | | | \--- org.apache.commons:commons-lang3:3.12.0 | | +--- org.apache.maven:maven-builder-support:3.9.6 | | \--- org.eclipse.sisu:org.eclipse.sisu.inject:0.9.0.M2 | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 1.9.22 (*) +--- com.github.Androidacy.LSParanoid:com.github.Androidacy.LSParanoid.gradle.plugin:0.6.5 | \--- com.github.Androidacy.LSParanoid:gradle-plugin:0.6.5 | +--- com.github.Androidacy.LSParanoid:core:0.6.5 | +--- com.github.Androidacy.LSParanoid:processor:0.6.5 | | +--- com.github.Androidacy.LSParanoid:core:0.6.5 | | +--- com.joom.grip:grip:0.9.1 | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.9.23 (*) | | | +--- org.ow2.asm:asm:9.2 -> 9.7 | | | \--- com.google.code.findbugs:jsr305:3.0.2 | | +--- org.ow2.asm:asm-commons:9.7 (*) | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 1.9.22 (*) | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.0 (*) | +--- com.android.tools.build:gradle-api:8.4.1 (*) | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 1.9.22 (*) +--- io.github.goldfish07.reschiper:plugin:0.1.0-rc4 | +--- org.jetbrains:annotations:24.1.0 -> 13.0 | +--- com.android.tools.build:gradle:8.0.0 -> 8.4.1 (*) | +--- com.android.tools.build:bundletool:1.13.2 -> 1.15.6 (*) | +--- com.google.guava:guava:32.1.3-jre (*) | +--- io.grpc:grpc-protobuf:1.59.1 (*) | +--- com.android.tools.build:aapt2-proto:8.0.0-9289358 -> 8.4.1-11315950 (*) | +--- commons-codec:commons-codec:1.16.0 | +--- commons-io:commons-io:2.15.1 | +--- org.dom4j:dom4j:2.1.4 | | +--- jaxen:jaxen:1.1.6 | | +--- javax.xml.stream:stax-api:1.0-2 | | +--- net.java.dev.msv:xsdlib:2013.6.1 | | | \--- relaxngDatatype:relaxngDatatype:20020414 | | +--- javax.xml.bind:jaxb-api:2.2.12 | | +--- pull-parser:pull-parser:2.1.10 | | \--- xpp3:xpp3:1.1.4c | \--- com.google.auto.value:auto-value:1.5.4 +--- org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.0.0 | \--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.0 | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.0 (*) | +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.0 (*) | +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.0 (*) | \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0 (*) +--- org.jetbrains:annotations:{strictly 13.0} -> 13.0 (c) +--- org.jetbrains.kotlin:kotlin-stdlib:{strictly 1.9.22} -> 1.9.22 (c) \--- org.jetbrains.kotlin:kotlin-reflect:{strictly 1.9.22} -> 1.9.22 (c) (c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree. (*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation. A web-based, searchable dependency report is available by adding the --scan option. BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed Configuration cache entry stored. ```
sebokopter commented 5 months ago

@androidacy-user you are using an old version (11.1.3) of the AboutLibraries plugin. Please update to the latest version 11.2.1.

11.2.1 is the first version where this pull request is applied.

androidacy-user commented 5 months ago

@androidacy-user you are using an old version (11.1.3) of the AboutLibraries plugin. Please update to the latest version 11.2.1.

11.2.1 is the first version where this pull request is applied.

I'm not though 🤔

sebokopter commented 5 months ago

@androidacy-user Your builldEnvironment output indicates that you are using the com.mikepenz.aboutlibraries.plugin:com.mikepenz.aboutlibraries.plugin.gradle.plugin:11.1.3 Android Gradle plugin.

Most likely you are mixing the AboutLibraries Gradle plugin and the AboutLibraries compile classpath depedencies. You might have the later one (the compile classpath dependencies) at version 11.2.1, but the former one (the Android Gradle plugin which you define in plugins) you probably declared the version 11.1.3.

If you need more help please provide the full build.gradle(.kts) and settings.gradle.kts files and/or a minimal reproducible example. Although this is not a Q&A forum, so please think about the volunteers time you are spending here, before continuing posting further comments.