Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

Metadata issue #55

Closed
dhakehurst opened this issue Jul 15, 2019 · 5 comments
Closed

Metadata issue #55

dhakehurst opened this issue Jul 15, 2019 · 5 comments

Comments

@dhakehurst
Copy link

Hi,
I think use of metadata is the right way to go.
However, there seems to be an issue,
I am depending on klock (transitively) via other libs of mine.
And I get this error,
not sure why the android libs are getting in the way?

Execution failed for task ':myModule:compileJava'.
> Could not resolve all files for configuration ':myModule:compileClasspath'.
   > Could not resolve com.soywiz.korlibs.klock:klock:1.5.0.
     Required by:
         project :myModule > project :myModule-api > myGroup:otherModule-api:3.1.0-SNAPSHOT > myGroup:otherModule-api-jvm8:3.1.0-SNAPSHOT
      > Cannot choose between the following variants of com.soywiz.korlibs.klock:klock:1.5.0:
          - android-debugApiElements
          - android-debugRuntimeElements
          - android-releaseApiElements
          - android-releaseRuntimeElements
          - jvm-api
          - jvm-runtime
        All of them match the consumer attributes:
          - Variant 'android-debugApiElements' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
                  - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
                  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'android-debugRuntimeElements' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required.
                  - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
                  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'android-releaseApiElements' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
                  - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
                  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'android-releaseRuntimeElements' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required.
                  - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
                  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required.
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'jvm-api' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'jvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api-jars'.
          - Variant 'jvm-runtime' capability com.soywiz.korlibs.klock:klock:1.5.0:
              - Unmatched attributes:
                  - Required org.gradle.dependency.bundling 'external' but no value provided.
                  - Required org.gradle.jvm.version '8' but no value provided.
                  - Found org.gradle.status 'release' but wasn't required.
                  - Found org.jetbrains.kotlin.platform.type 'jvm' but wasn't required.
              - Compatible attribute:
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime-jars'.
@dhakehurst
Copy link
Author

I think I have solved the issue,

I was trying to use the kotlin generated libs from a pure java project.

it is necessary to add the

"attribute(KotlinPlatformType.attribute, KotlinPlatformType.jvm)"

to the dependency configuration in order to disambiguate between the different options

@AdibaM
Copy link

AdibaM commented Jul 30, 2019

Can you post your build.gradle file

@dhakehurst
Copy link
Author

I can't, but I think this should have the answer,

https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html#disambiguating-targets

@soywiz soywiz closed this as completed Sep 20, 2019
@eugenio1590
Copy link

eugenio1590 commented Jul 7, 2020

I get the same error, but I cannot apply "attribute(KotlinPlatformType.attribute, KotlinPlatformType.jvm)" to the "com.soywiz.korlibs.klock:klock" dependency because I have configured the multiplatform project to use the Js variant.

This is not a problem when I compile the project but currently, I am using liquibaseRuntime, so I think this could be the problem.

@eugenio1590
Copy link

I fixed this changing the "com.soywiz.korlibs.klock:klock" dependency to compileOnly.

compileOnly("com.soywiz.korlibs.klock:klock:$klockVersion")

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants