mirror of
https://github.com/AdrianKuta/Tree-Data-Structure.git
synced 2026-06-19 19:00:14 +02:00
- New published module tree-structure-compose: a LazyTree composable for Compose Multiplatform (JVM/desktop, iOS, Wasm) with lazy rendering and expand/collapse. - Fix an O(n^2) regression in addChild(): only walk ancestors for cycle detection when the child already has a subtree (a fresh leaf can never form a cycle), so building deep trees is O(n) again. Caught by the deep-chain stack-safety test on JS. - README: Compose usage section; align all install snippets to 4.0.0. - Version catalog: Compose Multiplatform + compose-compiler plugins. Verified locally: JVM, JS(node), Wasm(node), iOS-simulator tests + apiCheck all green; Compose module compiles for JVM, Wasm and iOS.
75 lines
1.9 KiB
Kotlin
75 lines
1.9 KiB
Kotlin
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.composeMultiplatform)
|
|
alias(libs.plugins.composeCompiler)
|
|
alias(libs.plugins.dokka)
|
|
alias(libs.plugins.mavenPublish)
|
|
signing
|
|
}
|
|
|
|
group = "com.github.adriankuta"
|
|
version = rootProject.version
|
|
|
|
mavenPublishing {
|
|
publishToMavenCentral(automaticRelease = false)
|
|
signAllPublications()
|
|
|
|
coordinates("com.github.adriankuta", "tree-structure-compose", version.toString())
|
|
|
|
pom {
|
|
name.set("Tree Data Structure — Compose Multiplatform")
|
|
description.set("A LazyTree composable (expand/collapse, lazy rendering) for the tree-structure library.")
|
|
url.set("https://github.com/AdrianKuta/Tree-Data-Structure")
|
|
licenses {
|
|
license {
|
|
name.set("MIT License")
|
|
url.set("https://opensource.org/licenses/MIT")
|
|
distribution.set("repo")
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id.set("AdrianKuta")
|
|
name.set("Adrian Kuta")
|
|
email.set("adrian.kuta93@gmail.com")
|
|
}
|
|
}
|
|
scm {
|
|
url.set("https://github.com/AdrianKuta/Tree-Data-Structure")
|
|
connection.set("scm:git:https://github.com/AdrianKuta/Tree-Data-Structure.git")
|
|
developerConnection.set("scm:git:ssh://git@github.com/AdrianKuta/Tree-Data-Structure.git")
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
google()
|
|
}
|
|
|
|
kotlin {
|
|
explicitApi()
|
|
jvmToolchain(21)
|
|
|
|
jvm()
|
|
|
|
@OptIn(ExperimentalWasmDsl::class)
|
|
wasmJs {
|
|
browser()
|
|
}
|
|
|
|
iosX64()
|
|
iosArm64()
|
|
iosSimulatorArm64()
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
api(project(":"))
|
|
implementation(compose.runtime)
|
|
implementation(compose.foundation)
|
|
}
|
|
}
|
|
}
|