Skip to content

Commit

Permalink
Update Kotlin to 2.0.0 and Compose to 1.6.10
Browse files Browse the repository at this point in the history
  • Loading branch information
MohamedRejeb committed May 26, 2024
1 parent 3f99cde commit 1a374c0
Show file tree
Hide file tree
Showing 27 changed files with 114 additions and 161 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ captures
.externalNativeBuild
.cxx
xcuserdata
.kotlin

.gradle
build/
Expand Down
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {
alias(libs.plugins.kotlinAndroid).apply(false)
alias(libs.plugins.kotlinJvm).apply(false)
alias(libs.plugins.kotlinSerialization).apply(false)
alias(libs.plugins.composeCompiler).apply(false)
alias(libs.plugins.composeMultiplatform).apply(false)
alias(libs.plugins.conventionPlugin).apply(false)
}
Expand Down
1 change: 1 addition & 0 deletions calf-core/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
1 change: 1 addition & 0 deletions calf-file-picker/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,16 @@ actual fun rememberFilePickerLauncher(
FilePickerFileType.Folder -> listOf("folder")
FilePickerFileType.All -> emptyList()
else ->
type.value.map {
it
.removeSuffix("/*")
.removeSuffix("/")
.removeSuffix("*")
}.filter {
it.isNotEmpty()
}
type.value
.map {
it
.removeSuffix("/*")
.removeSuffix("/")
.removeSuffix("*")
}
.filter {
it.isNotEmpty()
}
}
fileDialog.setFilenameFilter { file, name ->
if (mimeType.isEmpty()) {
Expand Down
34 changes: 3 additions & 31 deletions calf-geo/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,29 +1,13 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}

kotlin {
kotlin.applyDefaultHierarchyTemplate()
androidTarget {
publishLibraryVariants("release")
compilations.all {
kotlinOptions {
jvmTarget = "11"
}
}
}
jvm("desktop") {
jvmToolchain(11)
}
js(IR) {
browser()
}
iosX64()
iosArm64()
iosSimulatorArm64()
composeMultiplatformSetup()

kotlin {
sourceSets.commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
Expand All @@ -34,15 +18,3 @@ kotlin {
implementation(libs.play.services.location)
}
}

android {
namespace = "com.mohamedrejeb.calf.geo"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
34 changes: 3 additions & 31 deletions calf-maps/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,29 +1,13 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}

kotlin {
kotlin.applyDefaultHierarchyTemplate()
androidTarget {
publishLibraryVariants("release")
compilations.all {
kotlinOptions {
jvmTarget = "11"
}
}
}
jvm("desktop") {
jvmToolchain(11)
}
js(IR) {
browser()
}
iosX64()
iosArm64()
iosSimulatorArm64()
composeMultiplatformSetup()

kotlin {
sourceSets.commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
Expand All @@ -33,15 +17,3 @@ kotlin {
implementation(libs.kotlin.test)
}
}

android {
namespace = "com.mohamedrejeb.calf.maps"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
1 change: 1 addition & 0 deletions calf-media/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
1 change: 1 addition & 0 deletions calf-navigation/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
1 change: 1 addition & 0 deletions calf-notifications/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
1 change: 1 addition & 0 deletions calf-permissions/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ interface PermissionState {
/**
* [permission]'s status
*/
val status: PermissionStatus
var status: PermissionStatus

/**
* Request the [permission] to the user.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ import platform.UIKit.UIApplicationOpenSettingsURLString
@Composable
internal actual fun rememberMutablePermissionState(
permission: Permission,
onPermissionResult: (Boolean) -> Unit
onPermissionResult: (Boolean) -> Unit,
): MutablePermissionState {
val permissionState = remember(permission) {
MutablePermissionState(
permission = permission,
onPermissionResult = onPermissionResult,
)
}
val permissionState =
remember(permission) {
MutablePermissionState(
permission = permission,
onPermissionResult = onPermissionResult,
)
}

return permissionState
}
Expand All @@ -47,12 +48,11 @@ internal actual fun rememberMutablePermissionState(
@Stable
internal actual class MutablePermissionState(
override val permission: Permission,
private val onPermissionResult: (Boolean) -> Unit
private val onPermissionResult: (Boolean) -> Unit,
) : PermissionState {

actual constructor(
permission: Permission
): this(permission, {})
permission: Permission,
) : this(permission, {})

private val permissionDelegate = permission.getPermissionDelegate()

Expand All @@ -67,12 +67,12 @@ internal actual class MutablePermissionState(
onPermissionResult = {
onPermissionResult(it)
refreshPermissionStatus()
}
},
)
}

override fun openAppSettings() {
val settingsUrl = NSURL.URLWithString(UIApplicationOpenSettingsURLString)!!
val settingsUrl = NSURL.URLWithString(UIApplicationOpenSettingsURLString) ?: return
UIApplication.sharedApplication.openURL(settingsUrl)
}

Expand All @@ -81,4 +81,4 @@ internal actual class MutablePermissionState(
this.status = status
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import androidx.compose.runtime.setValue
@Composable
internal actual fun rememberMutablePermissionState(
permission: Permission,
onPermissionResult: (Boolean) -> Unit
onPermissionResult: (Boolean) -> Unit,
): MutablePermissionState {
return remember(permission) {
MutablePermissionState(permission)
Expand All @@ -40,7 +40,6 @@ internal actual fun rememberMutablePermissionState(
internal actual class MutablePermissionState actual constructor(
override val permission: Permission,
) : PermissionState {

override var status: PermissionStatus by mutableStateOf(getPermissionStatus())

override fun launchPermissionRequest() {}
Expand All @@ -52,4 +51,4 @@ internal actual class MutablePermissionState actual constructor(
private fun getPermissionStatus(): PermissionStatus {
return PermissionStatus.Denied(false)
}
}
}
1 change: 1 addition & 0 deletions calf-sf-symbols/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down
13 changes: 7 additions & 6 deletions calf-ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import org.gradle.internal.os.OperatingSystem

plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.androidLibrary)
}
Expand Down Expand Up @@ -34,12 +35,12 @@ kotlin {
}

sourceSets.desktopMain.dependencies {
implementation("org.openjfx:javafx-base:19:$platform")
implementation("org.openjfx:javafx-graphics:19:$platform")
implementation("org.openjfx:javafx-controls:19:$platform")
implementation("org.openjfx:javafx-media:19:$platform")
implementation("org.openjfx:javafx-web:19:$platform")
implementation("org.openjfx:javafx-swing:19:$platform")
implementation("org.openjfx:javafx-base:17:$platform")
implementation("org.openjfx:javafx-graphics:17:$platform")
implementation("org.openjfx:javafx-controls:17:$platform")
implementation("org.openjfx:javafx-media:17:$platform")
implementation("org.openjfx:javafx-web:17:$platform")
implementation("org.openjfx:javafx-swing:17:$platform")
implementation(libs.kotlinx.coroutines.javafx)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.interop.UIKitView
import kotlinx.cinterop.BetaInteropApi
import kotlinx.cinterop.ExperimentalForeignApi
import kotlinx.cinterop.ObjCSignatureOverride
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import platform.Foundation.NSString
Expand Down Expand Up @@ -168,12 +169,14 @@ actual class WebViewState actual constructor(
var webView by mutableStateOf<WKWebView?>(null)
internal set

@Suppress("CONFLICTING_OVERLOADS")
@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")
@ObjCSignatureOverride
override fun webView(webView: WKWebView, didFinishNavigation: WKNavigation?) {
loadingState = LoadingState.Finished
}

@Suppress("CONFLICTING_OVERLOADS")
@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")
@ObjCSignatureOverride
override fun webView(webView: WKWebView, didCommitNavigation: WKNavigation?) {
loadingState = LoadingState.Loading(webView.estimatedProgress.toFloat())
}
Expand All @@ -186,6 +189,7 @@ private fun WKWebView.applySettings(webSettings: WebSettings) {
}

// Use Dispatchers.Main to ensure that the webview methods are called on UI thread
@OptIn(BetaInteropApi::class)
internal suspend fun WebViewNavigator.handleNavigationEvents(
webView: WKWebView
): Nothing = withContext(Dispatchers.Main) {
Expand Down
4 changes: 2 additions & 2 deletions convention-plugins/src/main/kotlin/Hirearchy.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ fun KotlinMultiplatformExtension.applyHierarchyTemplate() {
withAndroidTarget()
withJvm()
withJs()
withWasm()
withWasmJs()
}

group("nonAndroid") {
withJvm()
withIos()
withJs()
withWasm()
withWasmJs()
}
}
}
Expand Down
14 changes: 7 additions & 7 deletions convention-plugins/src/main/kotlin/Targets.kt
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl

@OptIn(ExperimentalKotlinGradlePluginApi::class)
fun KotlinMultiplatformExtension.applyTargets() {
androidTarget {
publishLibraryVariants("release")
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
}
}

jvm("desktop") {
jvmToolchain(11)
}
jvmToolchain(11)
jvm("desktop")

js {
browser()
Expand Down
Loading

0 comments on commit 1a374c0

Please sign in to comment.