Contributing to compose thread (<https://kotlinlan...
# compose
n
Contributing to compose thread (prev) src/ folder in skiko has multiple
xxxMain
subfolders. What are the dependencies between them? Lets take iOS, for example. Is it
common > native > darwin > uikit > ios
? How does the same graph look for linux? I assume it's something like this:
common > ??? > jvm > awt
? Is there some visual or textual explanation of this? As a newcomer I find this very confusing :( cc @Ivan Matkov
i
@Konstantin Tskhovrebov wrote gradle plugin exactly for such cases 😃 https://github.com/terrakok/kmp-hierarchy
common > ??? > jvm > awt
jvm/awt works for linux already, yes. But I had an impression that you want to have native linux variant
n
https://github.com/terrakok/kmp-hierarchy
Look like just what I need! But I can't install it it. It's specifically this line that give a Gradle sync error:
Copy code
diff --git a/skiko/build.gradle.kts b/skiko/build.gradle.kts
index 8649ed0c..c5c8f180 100644
--- a/skiko/build.gradle.kts
+++ b/skiko/build.gradle.kts
@@ -8,6 +8,7 @@ import declareSkiaTasks
 
 plugins {
     kotlin("multiplatform")
+    id("io.github.terrakok.kmp-hierarchy") version "1.1"
     id("org.jetbrains.dokka") version "1.9.10"
     `maven-publish`
     signing
The error:
Copy code
Could not HEAD '<https://repo.maven.apache.org/maven2/guru/nidi/graphviz-java/0.18.1/graphviz-java-0.18.1.pom>'. Received status code 407 from server: Proxy Authentication Required
But I had an impression that you want to have native linux variant
Yea, yea, yea, of course! Just trying to first understand what I'm working with.
I had a proxy turned on before, but it is currently disabled. I've restarted the PC and deleted every possible cache... Still 407. Looks like an issue on my side though. Investigating.
k
try to delete
.gradle
dir in the project and to rerun again
n
I did use
git clean -xfd
and got the same error about
graphviz-java
. But now it doesn't sync even a base project, without extra
kmp-hierarchy
dependency. I guess I have to look for some cache folder outside of Android Studio. Wow. INB4: In
File | Settings | Appearance & Behavior | System Settings | HTTP Proxy
proxy is turned off. In my OS settings as well. There is no
http_proxy
variable.
Found it. Gradle cached proxy settings into
~/.gradle/gradle.properties
.
Absolutely majestic
Btw, why
nativeMain
is based on
nativeJsMain
? This seems wrong... Is it really like this? Why?
i
nativeJsMain == nonJvmMain. Just a place to share the code between all non jvm targets
👍 1
naming is confusing, +1 here