Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Library dependency versions:
| 0.12.+ | 2.0.20 | 3.0.+ |
| 0.13.+ | 2.1.20 | 3.1.+ |
| 0.14.0 - 0.15.+ | 2.1.21 | 3.2.+ |
| 0.16.0 | 2.2.20 | 3.3.+ |

Note that while the library may work with other kotlin/ktor versions, proceed at your own risk.

Expand Down
1 change: 0 additions & 1 deletion build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
Expand Down
33 changes: 17 additions & 16 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,61 +5,62 @@ minSdk = "21"

jvmTarget = "17"
# https://developer.android.com/build/releases/gradle-plugin#compatibility
agp = "8.10.1"
# https://kotlinlang.org/docs/multiplatform-compatibility-guide.html
agp = "8.11.1"

#https://github.com/JetBrains/compose-multiplatform
compose-multiplatform = "1.8.2"
kotlin = "2.1.21"
compose-multiplatform = "1.9.0-rc01"
kotlin = "2.2.20"
# https://github.com/google/ksp
ksp = "2.1.21-2.0.1"
ksp = "2.2.20-2.0.3"
kotlin-inject = "0.8.0"

# https://developer.android.com/jetpack/androidx/releases/activity
androidxActivity = "1.10.1"
androidxActivity = "1.11.0"
# https://developer.android.com/jetpack/androidx/releases/appcompat
androidxAppCompat = "1.7.1"
androidxDataStore = "1.1.7"

coreKtx = "1.16.0"
coreKtx = "1.17.0"
#https://developer.android.com/jetpack/androidx/releases/arch-core
coreTesting = "2.2.0"

kotlinxCoroutines = "1.10.2"
kotlinxSerialization = "1.8.1"
kotlinxSerialization = "1.9.0"

# https://github.com/Kotlin/kotlinx-datetime
kotlinxDatetime = "0.7.1"
# https://github.com/Kotlin/kotlinx-atomicfu
kotlinxAtomicfu = "0.28.0"
kotlinxAtomicfu = "0.29.0"

kotlinxBrowser = "0.3"
kotlinxBrowser = "0.5.0"

# https://github.com/slackhq/circuit/releases
circuit = "0.28.1"
circuit = "0.30.0"
sqldelight = "2.1.0"

okhttp = "4.12.0"
ktor = "3.2.1"
okhttp = "5.2.1"
ktor = "3.3.1"

nexus-publish-plugin = "1.3.0"
nexus-publish-plugin = "2.0.0"
multiplatform-swiftpackage = "2.2.4"
swiftklib = "0.6.4"
dokka = "1.9.10"
# https://developer.android.com/jetpack/androidx/releases/security
securityCryptoKtx = "1.1.0-beta01"
securityCryptoKtx = "1.1.0"

assertk = "0.28.1"
russhwolf = "1.3.0"

kotlincrypto-hash = "0.7.0"
kotlincrypto-hash = "0.8.0"
material-icons = "1.7.3"

[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivity" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppCompat" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
androidx-datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "androidxDataStore" }
androidx-browser = { module = "androidx.browser:browser", version = "1.9.0-rc01" }
androidx-browser = { module = "androidx.browser:browser", version = "1.9.0" }
androidx-security-crypto-ktx = { module = "androidx.security:security-crypto-ktx", version.ref = "securityCryptoKtx" }
androidx-security-crypto = { module = "androidx.security:security-crypto", version.ref = "securityCryptoKtx" }
material-icons-core = { module = "org.jetbrains.compose.material:material-icons-core", version.ref = "material-icons" }
Expand Down
41 changes: 0 additions & 41 deletions oidc-appsupport/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,47 +23,6 @@ multiplatformSwiftPackage {
zipFileName("OpenIdConnectClient")
}

// workaround for https://forums.developer.apple.com/forums/thread/748177, remove once apple fixed it
val fixTask = tasks.create("fixFrameworkPlist") {
val fixTask = this
group = "multiplatform-swift-package"
afterEvaluate {
val createFrameworkTask = tasks.named("createXCFramework").get()
val deps = createFrameworkTask.taskDependencies.getDependencies(createFrameworkTask)
fixTask.dependsOn(deps)
}
doFirst {
val createFrameworkTask = tasks.named("createXCFramework").get()
val deps = createFrameworkTask.taskDependencies.getDependencies(createFrameworkTask)
val outDirs = deps.flatMap {
it.outputs.files.files
}
val plists = outDirs.flatMap {
if (it.exists() && it.isDirectory) {
Files.walk(it.toPath())
.filter {
it.name == "Info.plist"
}
.collect(toList())
} else {
listOf()
}
}

plists.forEach {
logger.warn("Apply XCode 15.3(+) workaround to plist file: $it")
providers.exec {
commandLine("/usr/libexec/PlistBuddy", "-c", "Set MinimumOSVersion 100.0", it.toFile().absolutePath)
}.result.get()
}
}

}

afterEvaluate {
tasks.named("createXCFramework").dependsOn(tasks.named(fixTask.name))
}

kotlin {
jvm()
configureIosTargets(baseName = "OpenIdConnectClient")
Expand Down
2 changes: 0 additions & 2 deletions playground-app/shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ kotlin {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources) // resources will only work in THIS module! Only one module seems to be supported for now.

implementation(libs.kotlin.inject.runtime)

Expand Down
3 changes: 0 additions & 3 deletions playground-app/ui/clientdetail/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ kotlin {
implementation(compose.foundation)
implementation(compose.materialIconsExtended)
implementation(compose.material3)

@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
}
Expand Down
3 changes: 0 additions & 3 deletions playground-app/ui/clientlist/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ kotlin {
implementation(compose.foundation)
implementation(compose.materialIconsExtended)
implementation(compose.material3)

@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
}
Expand Down
2 changes: 0 additions & 2 deletions playground-app/ui/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ kotlin {
//
implementation(compose.material3)
implementation(libs.material.icons.core)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
}
Expand Down
3 changes: 0 additions & 3 deletions playground-app/ui/idplist/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ kotlin {
implementation(compose.foundation)
implementation(compose.materialIconsExtended)
implementation(compose.material3)

@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
}
Expand Down
3 changes: 0 additions & 3 deletions playground-app/ui/root/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ kotlin {
implementation(compose.foundation)
implementation(compose.materialIconsExtended)
implementation(compose.material3)

@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
}
}
}
Expand Down
6 changes: 6 additions & 0 deletions sample-app/settings/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ kotlin {
api(libs.kotlinx.serialization.json)
}
}

wasmJsMain {
dependencies {
implementation(libs.kotlinx.browser)
}
}
}
}

2 changes: 1 addition & 1 deletion sample-app/wasm-js-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ kotlin {
jvm()
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
moduleName = "wasm-js-app"
outputModuleName = "wasm-js-app"
browser {
commonWebpackConfig {
outputFileName = "wasm-js-app.js"
Expand Down
1 change: 1 addition & 0 deletions sample-app/wasm-js-app/src/wasmJsMain/kotlin/main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import org.publicvalue.multiplatform.oidc.appsupport.PlatformCodeAuthFlow

@OptIn(ExperimentalComposeUiApi::class, ExperimentalOpenIdConnect::class)
fun main() {
@Suppress("DEPRECATION_ERROR")
CanvasBasedWindow(canvasElementId = "wasm-js-app") {
val currentPath = window.location.pathname
when {
Expand Down
2 changes: 1 addition & 1 deletion sample-app/wasm-js-app/src/wasmJsMain/resources/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
<script type="application/javascript" src="wasm-js-app.js"></script>
</head>
<body>
<canvas id="wasm-js-app"></canvas>
<canvas id="wasm-js-app" height="1000"></canvas>
</body>
</html>