Skip to content

Commit cbcf4c5

Browse files
committed
WA for broken atomicfu compiler plugin dependency in kotlin 1.7.0 (#232)
1 parent 2ea0414 commit cbcf4c5

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

build.gradle

+27
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
*/
44

55

6+
import org.gradle.api.internal.artifacts.repositories.resolver.DefaultMutableVariantFilesMetadata
67
import org.jetbrains.kotlin.config.KotlinCompilerVersion
78
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
89
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
910
import org.jetbrains.kotlin.konan.target.HostManager
1011
import org.jetbrains.dokka.gradle.DokkaTaskPartial
12+
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
1113

1214
import static Projects.*
1315

@@ -180,6 +182,31 @@ configure(subprojects.findAll { !sourceless.contains(it.name) }) {
180182
// Remove null assertions to get smaller bytecode on Android
181183
kotlinOptions.freeCompilerArgs += ["-Xno-param-assertions", "-Xno-receiver-assertions", "-Xno-call-assertions"]
182184
}
185+
186+
dependencies {
187+
components {
188+
it.withModule("org.jetbrains.kotlin:atomicfu") {
189+
def componentMetadataDetails = it as ComponentMetadataDetails
190+
componentMetadataDetails.withVariant("runtimeElements") {
191+
def runtimeElementsVariant = it as VariantMetadata
192+
componentMetadataDetails.addVariant("runtimeJsIrElements") {
193+
def runtimeJsIrElementsVariant = it
194+
runtimeElementsVariant.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
195+
runtimeElementsVariant.attributes.attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
196+
runtimeElementsVariant.attributes.attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage, Usage.JAVA_RUNTIME))
197+
runtimeElementsVariant.withFiles {
198+
def runtimeElementsFiles = it as DefaultMutableVariantFilesMetadata
199+
runtimeJsIrElementsVariant.withFiles {
200+
runtimeElementsFiles.files.forEach {
201+
addFile(it.name)
202+
}
203+
}
204+
}
205+
}
206+
}
207+
}
208+
}
209+
}
183210
}
184211

185212
if (build_snapshot_train) {

0 commit comments

Comments
 (0)