diff --git a/README.md b/README.md index 9f3fa1745..6bceb65ab 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,9 @@ https://firebase.google.com/docs/app-check/custom-provider ![JVM](https://img.shields.io/badge/project-jvm-component.svg?colorA=555555&colorB=7F52FF&label=&logo=kotlin&logoColor=ffffff&logoWidth=10) ### Kotlin GB [kotlin-gb] -![Planned](https://img.shields.io/badge/project-planned-status.svg?colorA=555555&colorB=blue&label=&logo=kotlin&logoColor=ffffff&logoWidth=10) +![Experimental](https://img.shields.io/badge/project-experimental-status.svg?colorA=555555&colorB=red&label=&logo=kotlin&logoColor=ffffff&logoWidth=10) +![Multiplatform](https://img.shields.io/badge/project-multiplatform-component.svg?colorA=555555&colorB=7F52FF&label=&logo=kotlin&logoColor=ffffff&logoWidth=10) +Offers a set of Traditional English aliases for Simplified English Kotlin APIs, largely a parody, thus does not comply to the same level of modularisation. ### Local Storage [local-storage] ![Experimental](https://img.shields.io/badge/project-experimental-status.svg?colorA=555555&colorB=red&label=&logo=kotlin&logoColor=ffffff&logoWidth=10) diff --git a/app-launcher/common/build.gradle.kts b/app-launcher/common/build.gradle.kts index 7930ee29d..ebd77e9a4 100644 --- a/app-launcher/common/build.gradle.kts +++ b/app-launcher/common/build.gradle.kts @@ -18,7 +18,7 @@ kotlin { implementation(ratingsApp) } - implementation(libs.arkivanov.parcelable) + implementation(libs.essenty.parcelable) implementation(libs.slack.circuit.foundation) } diff --git a/dominion-app/build.gradle.kts b/dominion-app/build.gradle.kts index 08d6add30..57897d2c8 100644 --- a/dominion-app/build.gradle.kts +++ b/dominion-app/build.gradle.kts @@ -13,7 +13,7 @@ kotlin { implementation(projects.httpClient) implementation(projects.imageLoader) - implementation(libs.arkivanov.parcelable) + implementation(libs.essenty.parcelable) with(libs.ktor.client) { implementation(libs.ktor.client.content.negotiation) diff --git a/events-app/build.gradle.kts b/events-app/build.gradle.kts index 266fe1e2c..848907bd6 100644 --- a/events-app/build.gradle.kts +++ b/events-app/build.gradle.kts @@ -20,7 +20,7 @@ kotlin { implementation(localStorage) } - implementation(libs.arkivanov.parcelable) + implementation(libs.essenty.parcelable) with(libs.ktor.client) { implementation(content.negotiation) diff --git a/gallery-app/build.gradle.kts b/gallery-app/build.gradle.kts index b8185bc5b..c4154886d 100644 --- a/gallery-app/build.gradle.kts +++ b/gallery-app/build.gradle.kts @@ -15,7 +15,7 @@ kotlin { implementation(projects.imageLoader) implementation(projects.localStorage) - implementation(libs.arkivanov.parcelable) + implementation(libs.essenty.parcelable) implementation(libs.slack.circuit.foundation) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 308d7e079..af83bc922 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -30,7 +30,6 @@ apollo-graphql-coroutines-support = { module = "com.apollographql.apollo:apollo- apollo-graphql-runtime = { module = "com.apollographql.apollo:apollo-runtime", version.ref = "apollo-graphql" } app-cash-turbine = "app.cash.turbine:turbine:1.0.0" -arkivanov-parcelable = "com.arkivanov.essenty:parcelable:1.1.0" auth-java-jwt = "com.auth0:java-jwt:4.4.0" auth-jwks-rsa = "com.auth0:jwks-rsa:0.22.0" @@ -38,6 +37,7 @@ auth-jwks-rsa = "com.auth0:jwks-rsa:0.22.0" coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil-kt" } coil-core = { module = "io.coil-kt:coil", version.ref = "coil-kt" } +essenty-parcelable = "com.arkivanov.essenty:parcelable:1.1.0" fusesource-jansi = "org.fusesource.jansi:jansi:2.4.0" google-accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "google-accompanist" } diff --git a/kotlin-gb/build.gradle.kts b/kotlin-gb/build.gradle.kts new file mode 100644 index 000000000..8a96b8849 --- /dev/null +++ b/kotlin-gb/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + id("io.ashdavies.default") +} + +android { + namespace = "io.ashdavies.locale" +} + +kotlin { + commonMain.dependencies { + implementation(libs.essenty.parcelable) + implementation(libs.ktor.http) + } +} diff --git a/kotlin-gb/src/androidMain/AndroidManifest.xml b/kotlin-gb/src/androidMain/AndroidManifest.xml new file mode 100644 index 000000000..8072ee00d --- /dev/null +++ b/kotlin-gb/src/androidMain/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Annotations.kt b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Annotations.kt new file mode 100644 index 000000000..4dd83c86c --- /dev/null +++ b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Annotations.kt @@ -0,0 +1,6 @@ +package io.ashdavies.locale + +public typealias Serialisable = kotlinx.serialization.Serializable + +@kotlinx.serialization.ExperimentalSerializationApi +public typealias Serialiser = kotlinx.serialization.Serializer diff --git a/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/HttpHeaders.kt b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/HttpHeaders.kt new file mode 100644 index 000000000..71a51fc92 --- /dev/null +++ b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/HttpHeaders.kt @@ -0,0 +1,6 @@ +package io.ashdavies.locale + +import io.ktor.http.HttpHeaders + +public val HttpHeaders.Authorisation: String + get() = Authorization diff --git a/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Parcelise.kt b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Parcelise.kt new file mode 100644 index 000000000..f3452460c --- /dev/null +++ b/kotlin-gb/src/commonMain/kotlin/io/ashdavies/locale/Parcelise.kt @@ -0,0 +1,3 @@ +package io.ashdavies.locale + +public typealias Parcelise = com.arkivanov.essenty.parcelable.Parcelize diff --git a/local-storage/src/commonMain/kotlin/io/ashdavies/playground/EventsSerializer.kt b/local-storage/src/commonMain/kotlin/io/ashdavies/playground/EventsSerializer.kt index 97f93da25..586dd55b1 100644 --- a/local-storage/src/commonMain/kotlin/io/ashdavies/playground/EventsSerializer.kt +++ b/local-storage/src/commonMain/kotlin/io/ashdavies/playground/EventsSerializer.kt @@ -6,6 +6,6 @@ import kotlinx.serialization.Serializer /** * TODO: Move to events domain */ -@OptIn(ExperimentalSerializationApi::class) +@ExperimentalSerializationApi @Serializer(forClass = Event::class) public object EventsSerializer diff --git a/ratings-app/build.gradle.kts b/ratings-app/build.gradle.kts index 06100f89b..503dfe9a2 100644 --- a/ratings-app/build.gradle.kts +++ b/ratings-app/build.gradle.kts @@ -15,7 +15,7 @@ kotlin { implementation(notionClient) } - implementation(libs.arkivanov.parcelable) + implementation(libs.essenty.parcelable) implementation(libs.ktor.client.core) implementation(libs.slack.circuit.foundation) } diff --git a/settings.gradle.kts b/settings.gradle.kts index c889b850b..cd80c554c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -47,6 +47,7 @@ include( ":google-cloud", ":http-client", ":image-loader", + ":kotlin-gb", ":local-storage", ":micro-yaml", ":notion-client",