Browse Source

Fixing compilation issues

fix_oel_publication
akurasov 2 years ago
parent
commit
76a512146d
  1. 31
      compose/build.gradle.kts

31
compose/build.gradle.kts

@ -1,7 +1,14 @@
import org.gradle.api.*
import org.jetbrains.compose.internal.publishing.*
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetComponent
import kotlin.reflect.full.memberProperties
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
import org.gradle.api.publish.maven.internal.dependencies.DefaultMavenDependency
import org.gradle.api.publish.maven.internal.dependencies.MavenDependencyInternal
import org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication
repositories {
@ -255,17 +262,24 @@ private val KotlinTarget.kotlinComponents: Iterable<KotlinTargetComponent>
.get(this) as Iterable<KotlinTargetComponent>
fun OELPublishingPrototype(project: Project) {
val ext = project.multiplatformExtension ?: error("expected a multiplatform project")
ext.targets.all { target ->
if (target is KotlinAndroidTarget) {
project.publishAndroidxReference(target)
println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
subprojects.forEach {
println(">>>>>>>>>>>>>> trying " + it.name)
val ext = it.extensions.getByType(KotlinMultiplatformExtension::class.java)
if (ext != null) {
println(">>>>>>>>>>>>>> accepted " + it.name)
ext.targets.all { target ->
if (target is KotlinAndroidTarget) {
project.publishAndroidxReference(target)
}
true
}
}
}
}
@Suppress("unchecked_cast")
private fun Project.publishAndroidxReference(target: KotlinTarget) {
fun Project.publishAndroidxReference(target: KotlinTarget) {
afterEvaluate {
target.kotlinComponents.forEach { component ->
val componentName = component.name
@ -294,6 +308,7 @@ private fun Project.publishAndroidxReference(target: KotlinTarget) {
if (publication.name == componentName) {
publication.isAlias = true
}
true
}
usages.forEach { usage ->

Loading…
Cancel
Save