Skip to content

Commit ba3f6ee

Browse files
committed
Library updates 2026-01
1 parent 5bc9d7f commit ba3f6ee

33 files changed

Lines changed: 247 additions & 456 deletions

File tree

.idea/deploymentTargetSelector.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515

1616
import groovy.lang.Closure
1717
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
18+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1819

1920
plugins {
2021
alias(libs.plugins.android.app) apply false
2122
alias(libs.plugins.android.lib) apply false
2223
alias(libs.plugins.kotlin.multiplatform) apply false
24+
alias(libs.plugins.android.kotlin.multiplatform.library) apply false
2325
alias(libs.plugins.kotlin.jvm) apply false
2426
alias(libs.plugins.kotlin.android) apply false
2527
alias(libs.plugins.google.ksp) apply false
@@ -59,6 +61,15 @@ allprojects {
5961
val projectScm by extra("https://github.com/motorro/CommonStateMachine.git")
6062
val projectUrl by extra("https://github.com/motorro/CommonStateMachine")
6163

64+
tasks.withType<KotlinCompile>().configureEach {
65+
compilerOptions {
66+
freeCompilerArgs.addAll(listOf(
67+
"-opt-in=kotlin.RequiresOptIn",
68+
"-Xexpect-actual-classes"
69+
))
70+
}
71+
}
72+
6273
tasks.withType<Test>().configureEach {
6374
forkEvery = 100
6475
testLogging {

commonstatemachine/build.gradle.kts

Lines changed: 25 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@
1414
@file:Suppress("unused")
1515
@file:OptIn(ExperimentalWasmDsl::class)
1616

17-
import org.jetbrains.dokka.gradle.DokkaTask
18-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
1917
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
2018
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2119

2220
plugins {
23-
id("org.jetbrains.kotlin.multiplatform")
24-
id("com.android.library")
25-
id("org.jetbrains.dokka")
21+
alias(libs.plugins.kotlin.multiplatform)
22+
alias(libs.plugins.android.kotlin.multiplatform.library)
23+
alias(libs.plugins.kotlin.dokka)
2624
id("maven-publish")
2725
id("signing")
2826
}
@@ -38,15 +36,21 @@ version = rootProject.version
3836
println("== Project version: $versionName ==")
3937

4038
kotlin {
39+
jvmToolchain(17)
4140

4241
jvm()
42+
android {
43+
namespace = "com.motorro.commonstatemachine.commonstatemachine"
44+
compileSdk = androidCompileSdkVersion
45+
minSdk = androidMinSdkVersion
46+
47+
withHostTest {
48+
isIncludeAndroidResources = true
49+
}
4350

44-
androidTarget {
45-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
4651
compilerOptions {
4752
jvmTarget.set(JvmTarget.JVM_17)
4853
}
49-
publishLibraryVariants("release", "debug")
5054
}
5155

5256
js(IR) {
@@ -85,69 +89,28 @@ kotlin {
8589
}
8690

8791
sourceSets {
88-
val commonMain by getting {
89-
dependencies {
90-
api(project(":tmap"))
91-
}
92+
commonMain.dependencies {
93+
api(project(":tmap"))
9294
}
93-
val commonTest by getting {
94-
dependencies {
95-
implementation(libs.test.kotlin)
96-
}
95+
commonTest.dependencies {
96+
implementation(libs.test.kotlin)
9797
}
98-
val jvmMain by getting
99-
val jvmTest by getting
100-
val androidMain by getting {
101-
dependencies {
102-
api(libs.androidx.lifecycle.common)
103-
}
98+
androidMain.dependencies {
99+
api(libs.androidx.lifecycle.common)
104100
}
105-
val androidUnitTest by getting {
106-
dependencies {
107-
implementation(libs.kotlin.coroutines.core)
108-
implementation(libs.test.kotlin.coroutines)
109-
implementation(libs.test.androidx.lifecycle)
110-
}
101+
val androidHostTest by sourceSets.getting
102+
androidHostTest.dependencies {
103+
implementation(libs.kotlin.coroutines.core)
104+
implementation(libs.test.kotlin.coroutines)
105+
implementation(libs.test.androidx.lifecycle)
111106
}
112-
val jsMain by getting
113-
val jsTest by getting
114-
val iosX64Main by getting
115-
val iosArm64Main by getting
116-
val iosSimulatorArm64Main by getting
117-
val iosMain by creating
118-
val iosX64Test by getting
119-
val iosArm64Test by getting
120-
val iosSimulatorArm64Test by getting
121-
val iosTest by creating
122107
}
123108
}
124-
125-
android {
126-
compileSdk = androidCompileSdkVersion
127-
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
128-
defaultConfig {
129-
minSdk = androidMinSdkVersion
130-
}
131-
namespace = "com.motorro.commonstatemachine.commonstatemachine"
132-
133-
compileOptions {
134-
sourceCompatibility = JavaVersion.VERSION_17
135-
targetCompatibility = JavaVersion.VERSION_17
136-
}
137-
138-
publishing {
139-
singleVariant("release") {
140-
withSourcesJar()
141-
}
142-
}
143-
}
144-
val dokkaHtml by tasks.getting(DokkaTask::class)
145-
146109
val javadocJar by tasks.registering(Jar::class) {
147-
dependsOn(dokkaHtml)
110+
dependsOn(tasks.dokkaGenerate)
148111
group = "documentation"
149112
archiveClassifier.set("javadoc")
150-
from(tasks.dokkaHtml)
113+
from(tasks.dokkaGenerate)
151114
}
152115

153116
val libId = "commonstatemachine"

commonstatemachine/src/androidUnitTest/kotlin/com/motorro/commonstatemachine/lifecycle/UiMachineLifecycleTest.kt renamed to commonstatemachine/src/androidHostTest/kotlin/com/motorro/commonstatemachine/lifecycle/UiMachineLifecycleTest.kt

File renamed without changes.

commonstatemachine/src/androidMain/AndroidManifest.xml

Lines changed: 0 additions & 15 deletions
This file was deleted.

coroutines/build.gradle.kts

Lines changed: 21 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313

1414
@file:Suppress("unused")
1515

16-
import org.jetbrains.dokka.gradle.DokkaTask
17-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
1816
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
1917
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2018

2119
plugins {
22-
id("org.jetbrains.kotlin.multiplatform")
23-
id("com.android.library")
24-
id("org.jetbrains.dokka")
20+
alias(libs.plugins.kotlin.multiplatform)
21+
alias(libs.plugins.android.kotlin.multiplatform.library)
22+
alias(libs.plugins.kotlin.dokka)
2523
id("maven-publish")
2624
id("signing")
2725
}
@@ -37,16 +35,22 @@ version = rootProject.version
3735
println("== Project version: $versionName ==")
3836

3937
kotlin {
38+
jvmToolchain(17)
39+
4040
jvm()
41+
android {
42+
namespace = "com.motorro.commonstatemachine.coroutines"
43+
compileSdk = androidCompileSdkVersion
44+
minSdk = androidMinSdkVersion
45+
46+
withHostTest {
47+
isIncludeAndroidResources = true
48+
}
4149

42-
androidTarget {
43-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
4450
compilerOptions {
4551
jvmTarget.set(JvmTarget.JVM_17)
4652
}
47-
publishLibraryVariants("release", "debug")
4853
}
49-
5054
js(IR) {
5155
binaries.library()
5256
useCommonJs()
@@ -84,61 +88,22 @@ kotlin {
8488
}
8589

8690
sourceSets {
87-
val commonMain by getting {
88-
dependencies {
89-
api(project(":commonstatemachine"))
90-
api(libs.kotlin.coroutines.core)
91-
}
92-
}
93-
val commonTest by getting {
94-
dependencies {
95-
implementation(libs.test.kotlin)
96-
implementation(libs.test.kotlin.coroutines)
97-
}
91+
commonMain.dependencies {
92+
api(project(":commonstatemachine"))
93+
api(libs.kotlin.coroutines.core)
9894
}
99-
val jvmMain by getting
100-
val jvmTest by getting
101-
val androidMain by getting
102-
val androidUnitTest by getting
103-
val jsMain by getting
104-
val jsTest by getting
105-
val iosX64Main by getting
106-
val iosArm64Main by getting
107-
val iosSimulatorArm64Main by getting
108-
val iosMain by creating
109-
val iosX64Test by getting
110-
val iosArm64Test by getting
111-
val iosSimulatorArm64Test by getting
112-
val iosTest by creating
113-
}
114-
}
115-
116-
android {
117-
compileSdk = androidCompileSdkVersion
118-
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
119-
defaultConfig {
120-
minSdk = androidMinSdkVersion
121-
}
122-
namespace = "com.motorro.commonstatemachine.coroutines"
123-
124-
compileOptions {
125-
sourceCompatibility = JavaVersion.VERSION_17
126-
targetCompatibility = JavaVersion.VERSION_17
127-
}
128-
129-
publishing {
130-
singleVariant("release") {
131-
withSourcesJar()
95+
commonTest.dependencies {
96+
implementation(libs.test.kotlin)
97+
implementation(libs.test.kotlin.coroutines)
13298
}
13399
}
134100
}
135-
val dokkaHtml by tasks.getting(DokkaTask::class)
136101

137102
val javadocJar by tasks.registering(Jar::class) {
138-
dependsOn(dokkaHtml)
103+
dependsOn(tasks.dokkaGenerate)
139104
group = "documentation"
140105
archiveClassifier.set("javadoc")
141-
from(tasks.dokkaHtml)
106+
from(tasks.dokkaGenerate)
142107
}
143108

144109
val libId = "coroutines"

coroutines/src/androidMain/AndroidManifest.xml

Lines changed: 0 additions & 2 deletions
This file was deleted.

examples/androidcore/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
1515

1616
plugins {
1717
alias(libs.plugins.android.lib)
18-
alias(libs.plugins.kotlin.android)
1918
alias(libs.plugins.compose)
2019
}
2120

examples/androidcore/src/main/java/com/motorro/statemachine/androidcore/ui/theme/Theme.kt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
package com.motorro.statemachine.androidcore.ui.theme
1515

16-
import android.app.Activity
1716
import android.os.Build
1817
import androidx.compose.foundation.isSystemInDarkTheme
1918
import androidx.compose.material3.MaterialTheme
@@ -22,11 +21,7 @@ import androidx.compose.material3.dynamicDarkColorScheme
2221
import androidx.compose.material3.dynamicLightColorScheme
2322
import androidx.compose.material3.lightColorScheme
2423
import androidx.compose.runtime.Composable
25-
import androidx.compose.runtime.SideEffect
26-
import androidx.compose.ui.graphics.toArgb
2724
import androidx.compose.ui.platform.LocalContext
28-
import androidx.compose.ui.platform.LocalView
29-
import androidx.core.view.WindowCompat
3025

3126
private val DarkColorScheme = darkColorScheme(
3227
primary = Purple80,
@@ -66,14 +61,6 @@ fun CommonStateMachineTheme(
6661
darkTheme -> DarkColorScheme
6762
else -> LightColorScheme
6863
}
69-
val view = LocalView.current
70-
if (!view.isInEditMode) {
71-
SideEffect {
72-
val window = (view.context as Activity).window
73-
window.statusBarColor = colorScheme.primary.toArgb()
74-
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
75-
}
76-
}
7764

7865
MaterialTheme(
7966
colorScheme = colorScheme,

0 commit comments

Comments
 (0)