CycloneDX / cyclonedx-gradle-plugin

Creates CycloneDX Software Bill of Materials (SBOM) from Gradle projects
https://cyclonedx.org/
Apache License 2.0
155 stars 73 forks source link

However we cannot choose between the following variants of project :app: #299

Closed nicolaiendios closed 1 month ago

nicolaiendios commented 1 year ago

Hiya!

I'm not being able to generate a proper bom.json with included dependencies in my Android app project. In order to enable cyclonedxBom I added the plugin like so:

plugins {
    ...
    id 'org.cyclonedx.bom' version '1.7.4'
}

Based on the error message I assume it has something to do with the buildVariant but I have no clue how to fix it. Here is the error message after running ./gradlew cyclonedxbom: `Execution failed for task ':app:cyclonedxBom'.

The consumer was configured to find an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm'. However we cannot choose between the following variants of project :app:

  • Configuration ':app:productionReleaseApiElements' variant android-base-module-metadata declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-base-module-metadata' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-feature-all-metadata declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-feature-all-metadata' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-feature-res-ap_ declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-feature-res-ap_' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-feature-signing-config-data declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-feature-signing-config-data' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-feature-signing-config-versions declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-feature-signing-config-versions' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-java-res declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-java-res' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it
  • Configuration ':app:productionReleaseApiElements' variant android-manifest-metadata declares an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.2.0', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'production', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm':
  • Unmatched attributes:
  • Provides attribute 'artifactType' with value 'android-manifest-metadata' but the consumer didn't ask for it
  • Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'productionRelease' but the consumer didn't ask for it
  • Provides a library but the consumer didn't ask for it
  • Provides attribute 'version' with value 'production' but the consumer didn't ask for it

`

Any idea how I can fix this error?

glefloch commented 1 year ago

Thanks for reporting this @nicolaiendios, do you have a simple reproducer ?

jakobholmgrenhiq commented 1 year ago

I believe you need to set the includeConfigs config field and prefix the desired classPaths with your build variant and flavor combination.

For example: You have two build types debug and release. You have two flavors dev and prod. You can combine any build type with any flavor to create a build variant, for example: debugDev.

If you want to generate a SBOM for debugDev with the compileClassPath and the runtimeClassPath add the following to your cyclonedxBom config:

PierreBienert commented 1 year ago

Hi, I've got a similar issue but can't figure out how to solve it. I've searched for hours now, maybe you guys can give me the hint I'm missing.

I'm trying to create the BoM for an Android App that uses multiple self-made libraries (that also depend on each other). I've added the product flavor 'prod' to all the libraries already - without success. For now I left them out again since the build is working fine and the cyclonedx result was not affected, besides it complaining that it now was provided, but the consumer didn't ask for it.

I'm building via gradle's composite build with this settings.gradle (names altered, but matching the output logs):

include ':app'
include ':library-C'
include ':library-B'
include ':library-A'
include ':library-D'
include ':library-E'
include ':library-F'
include ':library-G'

root build.gradle:

buildscript {

    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.42'
        classpath "de.mannodermaus.gradle.plugins:android-junit5:1.8.2.1"
        classpath "com.hiya:jacoco-android:0.2"
    }
}

plugins {
    id 'org.cyclonedx.bom' version '1.7.4'
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

cyclonedxBom {
    projectType = "application"
    schemaVersion = "1.4"
    destination = file("build/reports")
    outputName = "bom"
    outputFormat = "xml"
    includeConfigs = ["prodReleaseRuntimeClasspath", "runtimeClasspath"]
}

group = 'com.myapp.app'

Task :cyclonedxBom logs:

> Task :cyclonedxBom FAILED
Watching 1 directory hierarchies to track changes
Caching disabled for task ':cyclonedxBom' because:
  Build cache is disabled
Task ':cyclonedxBom' is not up-to-date because:
  Task has failed previously.
Not watching anything anymore
Watching 0 directory hierarchies to track changes
CycloneDX: Parameters
------------------------------------------------------------------------
schemaVersion          : 1.4
includeLicenseText     : true
includeBomSerialNumber : true
includeConfigs         : [prodReleaseRuntimeClasspath, runtimeClasspath]
skipConfigs            : []
skipProjects           : []
destination            : ***\build\reports
outputName             : bom
------------------------------------------------------------------------
CycloneDX: Resolving Dependencies
Watching 1 directory hierarchies to track changes

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cyclonedxBom'.
> The consumer was configured to find a runtime of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release', attribute 'com.android.build.api.attributes.ProductFlavor:version' with value 'prod', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2'. However we cannot choose between the following variants of project :library-A:
    - Configuration ':library-A:releaseRuntimeElements' variant android-aar-metadata declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-aar-metadata' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-art-profile declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-art-profile' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-assets declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-assets' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-classes-directory-Aorg.gradle.libraryelements=classes declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-classes-directory' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
            - Provides its elements preferably in the form of class files but the consumer didn't ask for it
    - Configuration ':library-A:releaseRuntimeElements' variant android-classes-jar declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-classes-jar' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
            - Provides its elements packaged as a jar but the consumer didn't ask for it
    - Configuration ':library-A:releaseRuntimeElements' variant android-compiled-dependencies-resources declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-compiled-dependencies-resources' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-consumer-proguard-rules declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-consumer-proguard-rules' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-java-res declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-java-res' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
            - Provides its elements packaged as a jar but the consumer didn't ask for it
    - Configuration ':library-A:releaseRuntimeElements' variant android-jni declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-jni' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-lint declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-lint' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
            - Provides its elements packaged as a jar but the consumer didn't ask for it
    - Configuration ':library-A:releaseRuntimeElements' variant android-lint-local-aar declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-lint-local-aar' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-lint-model-metadata declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-lint-model-metadata' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-lint-variant-dependencies-model declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-lint-variant-dependencies-model' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-lint-variant-dependencies-partial-results declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-lint-variant-dependencies-partial-results' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-manifest declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-manifest' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-navigation-json declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-navigation-json' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-public-res declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-public-res' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-res declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-res' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-symbol declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-symbol' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant android-symbol-with-package-name declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'android-symbol-with-package-name' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
    - Configuration ':library-A:releaseRuntimeElements' variant jar declares a runtime of a component, as well as attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.4.2', attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'release':
        - Unmatched attributes:
            - Provides attribute 'artifactType' with value 'jar' but the consumer didn't ask for it
            - Doesn't say anything about com.android.build.api.attributes.ProductFlavor:version (required 'prod')
            - Provides attribute 'com.android.build.gradle.internal.attributes.VariantAttr' with value 'release' but the consumer didn't ask for it
            - Doesn't say anything about its target Java environment (preferred optimized for Android)
            - Provides its elements packaged as a jar but the consumer didn't ask for it

Thanks for your help!

skhokhlov commented 1 month ago

Main issue: https://github.com/CycloneDX/cyclonedx-gradle-plugin/issues/478

github-actions[bot] commented 2 weeks ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.