Halil Ozercan
08/22/2021, 12:25 PMtasks.create("replaceAndroidxCompose") {
project.dependencies.modules {
module("androidx.compose.animation:animation") {it.replacedBy("org.jetbrains.compose.animation:animation")}
module("androidx.compose.animation:animation") { it.replacedBy("org.jetbrains.compose.animation:animation") }
module("androidx.compose.animation:animation-core") { it.replacedBy("org.jetbrains.compose.animation:animation-core") }
module("androidx.compose.compiler:compiler") { it.replacedBy("org.jetbrains.compose.compiler:compiler") }
module("androidx.compose.compiler:compiler-hosted") { it.replacedBy("org.jetbrains.compose.compiler:compiler-hosted") }
module("androidx.compose.foundation:foundation") { it.replacedBy("org.jetbrains.compose.foundation:foundation") }
module("androidx.compose.foundation:foundation-layout") { it.replacedBy("org.jetbrains.compose.foundation:foundation-layout") }
module("androidx.compose.material:material") { it.replacedBy("org.jetbrains.compose.material:material") }
module("androidx.compose.material:material-icons-core") { it.replacedBy("org.jetbrains.compose.material:material-icons-core") }
module("androidx.compose.material:material-icons-extended") { it.replacedBy("org.jetbrains.compose.material:material-icons-extended") }
module("androidx.compose.material:material-ripple") { it.replacedBy("org.jetbrains.compose.material:material-ripple") }
module("androidx.compose.runtime:runtime") { it.replacedBy("org.jetbrains.compose.runtime:runtime") }
module("androidx.compose.runtime:runtime-saveable") { it.replacedBy("org.jetbrains.compose.runtime:runtime-saveable") }
module("androidx.compose.ui:ui") { it.replacedBy("org.jetbrains.compose.ui:ui") }
module("androidx.compose.ui:ui-geometry") { it.replacedBy("org.jetbrains.compose.ui:ui-geometry") }
module("androidx.compose.ui:ui-graphics") { it.replacedBy("org.jetbrains.compose.ui:ui-graphics") }
module("androidx.compose.ui:ui-test") { it.replacedBy("org.jetbrains.compose.ui:ui-test") }
module("androidx.compose.ui:ui-test-junit4") { it.replacedBy("org.jetbrains.compose.ui:ui-test-junit4") }
module("androidx.compose.ui:ui-text") { it.replacedBy("org.jetbrains.compose.ui:ui-text") }
module("androidx.compose.ui:ui-unit") { it.replacedBy("org.jetbrains.compose.ui:ui-unit") }
module("androidx.compose.ui:ui-util") { it.replacedBy("org.jetbrains.compose.ui:ui-util") }
}
}
tasks.named("build") {
it.dependsOn("replaceAndroidxCompose")
}
this seems to work 😄spierce7
08/22/2021, 3:17 PMkevindmoore
08/23/2021, 12:20 AMHalil Ozercan
08/23/2021, 8:44 AMAlexander Kurasov[JB]
08/23/2021, 11:40 AMHalil Ozercan
09/03/2021, 9:15 PMorg.jetbrains.compose
plugin. This was unfortunate because I didn't feel right telling developers that they need to apply Desktop Compose plugin for their pure Android app just to use a library.
Luckily, this turns out to be just a dependency issue and dependencies are easily replaced in gradle before they are resolved. Adding the following configuration to Android App's build.gradle
enables the use of KMP Compose dependencies.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group.contains('org.jetbrains.compose')) {
def groupName = details.requested.group.replace("org.jetbrains.compose", "androidx.compose")
details.useTarget(
[group: groupName, name: details.requested.name, version: details.requested.version]
)
}
}
}
SrSouza
09/04/2021, 6:06 PMburnoo
10/15/2021, 8:40 AMorg.jetbrains.compose
plugin could produce additional *-jetpack
artifact with replaced dependencies?
Projects that do not use Compose Multiplatform could use the Jetpack version of the library and would not have to replace dependencies at build time.
I did something similar in my library, but semi-manually.Alexander Kurasov[JB]
10/15/2021, 9:26 AMimplementation "androidx.compose.ui:ui:$compose_version"
and
implementation "org.jetbrains.compose.ui:ui:$mpp_compose_version"
versions are:
buildscript {
ext {
compose_version = '1.1.0-alpha06'
mpp_compose_version = '0.0.0-master-build423'
}
}
The build is published in
maven {
url("<https://maven.pkg.jetbrains.space/public/p/compose/dev>")
}
Let me know if it works or you have some issues with itburnoo
10/22/2021, 12:23 PMjvm
and android
targets works with Jetpack Compose. Tested hereHalil Ozercan
10/22/2021, 3:00 PMburnoo
10/22/2021, 5:22 PM