Kirill Zhukov
08/09/2019, 6:55 PMExecution failed for task ':protos:kaptKotlin'.
> Could not resolve all files for configuration ':protos:_classStructurekaptKotlin'.
> Could not resolve com.squareup.wire:wire-runtime:3.0.0-rc01.
Required by:
project :protos
> Cannot choose between the following variants of com.squareup.wire:wire-runtime:3.0.0-rc01:
- jvm-api
- jvm-runtime
- metadata-api
All of them match the consumer attributes:
- Variant 'jvm-api' capability com.squareup.wire:wire-runtime:3.0.0-rc01:
- Unmatched attributes:
- Found org.gradle.status 'release' but wasn't required.
- Found org.gradle.usage 'java-api-jars' but wasn't required.
- Found org.jetbrains.kotlin.platform.type 'jvm' but wasn't required.
- Variant 'jvm-runtime' capability com.squareup.wire:wire-runtime:3.0.0-rc01:
- Unmatched attributes:
- Found org.gradle.status 'release' but wasn't required.
- Found org.gradle.usage 'java-runtime-jars' but wasn't required.
- Found org.jetbrains.kotlin.platform.type 'jvm' but wasn't required.
- Variant 'metadata-api' capability com.squareup.wire:wire-runtime:3.0.0-rc01:
- Unmatched attributes:
- Found org.gradle.status 'release' but wasn't required.
- Found org.gradle.usage 'kotlin-api' but wasn't required.
- Found org.jetbrains.kotlin.platform.type 'common' but wasn't required.
It seems to be caused by Kotlin annotation processor bug (https://youtrack.jetbrains.com/issue/KT-33206). As a workaround creating custom configuration and setting usage attribute for it works:```
configurations {
wire {
attributes.attribute(Usage.USAGE_ATTRIBUTE, getObjects().named(Usage, Usage.JAVA_RUNTIME))
}
}
dependencies {
wire deps.wire.runtime
}
```
However, originally this dependency is transitive and I need it to keep it this way. How would I do that?kapt
, my dependency is used with api
configuration and gets affected by kapt in a way that I don’t understandkapt.incremental.apt=true