From 1160798c06e679c2677fd0b3d8f84a9e7941b07d Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 00:49:25 +0900 Subject: [PATCH 1/7] chore: update .gitignore configuration --- .gitignore | 26 +------- .idea/.gitignore | 3 - .idea/codeStyles | 137 ------------------------------------------- .idea/migrations.xml | 10 ---- 4 files changed, 2 insertions(+), 174 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/codeStyles delete mode 100644 .idea/migrations.xml diff --git a/.gitignore b/.gitignore index d8e1a4c..7125ec7 100644 --- a/.gitignore +++ b/.gitignore @@ -230,30 +230,8 @@ obj/ /out/ # User-specific configurations -.idea/caches/ -.idea/libraries/ -.idea/shelf/ -.idea/workspace.xml -.idea/tasks.xml -.idea/.name -.idea/compiler.xml -.idea/copyright/profiles_settings.xml -.idea/encodings.xml -.idea/misc.xml -.idea/modules.xml -.idea/scopes/scope_settings.xml -.idea/dictionaries -.idea/vcs.xml -.idea/jsLibraryMappings.xml -.idea/datasources.xml -.idea/dataSources.ids -.idea/sqlDataSources.xml -.idea/dynamic.xml -.idea/uiDesigner.xml -.idea/assetWizardSettings.xml -.idea/gradle.xml -.idea/jarRepositories.xml -.idea/navEditor.xml +.idea +.kotlin # Legacy Eclipse project files .classpath diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/codeStyles b/.idea/codeStyles deleted file mode 100644 index 320a4bc..0000000 --- a/.idea/codeStyles +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - -
- - - - xmlns:android - - ^$ - - - -
-
- - - - xmlns:.* - - ^$ - - - BY_NAME - -
-
- - - - .*:id - - http://schemas.android.com/apk/res/android - - - -
-
- - - - .*:name - - http://schemas.android.com/apk/res/android - - - -
-
- - - - name - - ^$ - - - -
-
- - - - style - - ^$ - - - -
-
- - - - .* - - ^$ - - - BY_NAME - -
-
- - - - .* - - http://schemas.android.com/apk/res/android - - - ANDROID_ATTRIBUTE_ORDER - -
-
- - - - .* - - .* - - - BY_NAME - -
-
-
-
-
-
-
\ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml deleted file mode 100644 index f8051a6..0000000 --- a/.idea/migrations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file From e3adad9f9b037e7eab53a30588a1a1dc4a072b83 Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 00:52:22 +0900 Subject: [PATCH 2/7] chore: apply updates to Kotlin, Compose, and some library dependencies, resolving associated build errors. --- gradle/libs.versions.toml | 11 +++++------ kotlin-json-patch/build.gradle.kts | 5 ++--- .../kotlin/com/reidsync/kxjsonpatch/Operations.kt | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 67fee76..5ea7fb1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,11 @@ [versions] agp = "8.2.0" -kotlin = "1.9.20" -compose = "1.5.4" +kotlin = "2.2.21" +compose = "1.9.5" compose-compiler = "1.5.4" -compose-material3 = "1.1.2" -androidx-activityCompose = "1.8.0" -kotlinxSerializationJson = "1.5.1" +compose-material3 = "1.4.0" +androidx-activityCompose = "1.12.0" +kotlinxSerializationJson = "1.9.0" [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -22,4 +22,3 @@ androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } -kotlinCocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" } diff --git a/kotlin-json-patch/build.gradle.kts b/kotlin-json-patch/build.gradle.kts index f72267d..1922a74 100644 --- a/kotlin-json-patch/build.gradle.kts +++ b/kotlin-json-patch/build.gradle.kts @@ -14,11 +14,10 @@ kotlin { js(IR) { // … } - ios() androidTarget { compilations.all { - kotlinOptions { - jvmTarget = "1.8" + compilerOptions.configure { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8) } } publishLibraryVariants("release", "debug") diff --git a/kotlin-json-patch/src/commonMain/kotlin/com/reidsync/kxjsonpatch/Operations.kt b/kotlin-json-patch/src/commonMain/kotlin/com/reidsync/kxjsonpatch/Operations.kt index d058196..1d43afa 100644 --- a/kotlin-json-patch/src/commonMain/kotlin/com/reidsync/kxjsonpatch/Operations.kt +++ b/kotlin-json-patch/src/commonMain/kotlin/com/reidsync/kxjsonpatch/Operations.kt @@ -30,7 +30,7 @@ internal open class Operations { TEST to TEST_name) fun opFromName(rfcName: String): Int { - val res=OPS.get(rfcName.toLowerCase()) + val res=OPS.get(rfcName.lowercase()) if(res==null) throw InvalidJsonPatchException("unknown / unsupported operation $rfcName") return res } From 652a3071062bd630dd12b2842ca2a882d64d0ead Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 01:46:41 +0900 Subject: [PATCH 3/7] feat: support wasm and jvm targets --- kotlin-json-patch/build.gradle.kts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/kotlin-json-patch/build.gradle.kts b/kotlin-json-patch/build.gradle.kts index 1922a74..49a2de9 100644 --- a/kotlin-json-patch/build.gradle.kts +++ b/kotlin-json-patch/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl + plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) @@ -8,20 +10,22 @@ group = "io.github.reidsync" version = "1.0.0" kotlin { - jvm { - // … - } - js(IR) { - // … - } androidTarget { compilations.all { compilerOptions.configure { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8) } } + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + browser() + nodejs() + } + publishLibraryVariants("release", "debug") } + + jvm("desktop") listOf( iosX64(), From 9e17c7e7ae0972c7e0d0016c0587e9ce6e84a931 Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 01:48:38 +0900 Subject: [PATCH 4/7] feat: improve Java compatibility --- kotlin-json-patch/build.gradle.kts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kotlin-json-patch/build.gradle.kts b/kotlin-json-patch/build.gradle.kts index 49a2de9..992634d 100644 --- a/kotlin-json-patch/build.gradle.kts +++ b/kotlin-json-patch/build.gradle.kts @@ -10,18 +10,18 @@ group = "io.github.reidsync" version = "1.0.0" kotlin { - androidTarget { - compilations.all { - compilerOptions.configure { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8) - } - } + jvmToolchain(8) + @OptIn(ExperimentalWasmDsl::class) wasmJs { browser() nodejs() } - + + androidTarget { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8) + } publishLibraryVariants("release", "debug") } From bb1d6bd6cf8c2d45718833056b2be33acd87c5de Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 02:39:13 +0900 Subject: [PATCH 5/7] fix: a missing resource class for iOS build --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index d24cc60..4f3af18 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,6 +30,7 @@ jobs: build-ios: macos: xcode: 15.0.0 + resource_class: medium steps: - checkout - run: From 357aa74bd87092e50e7769dab66c35d9ec6e3c71 Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 02:40:04 +0900 Subject: [PATCH 6/7] update version to 1.1.0 --- kotlin-json-patch/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kotlin-json-patch/build.gradle.kts b/kotlin-json-patch/build.gradle.kts index 992634d..0bd861e 100644 --- a/kotlin-json-patch/build.gradle.kts +++ b/kotlin-json-patch/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } group = "io.github.reidsync" -version = "1.0.0" +version = "1.1.0" kotlin { jvmToolchain(8) From 28af921012ce6452f4462dfc7d5115cbfbae3db7 Mon Sep 17 00:00:00 2001 From: Reid Byun Date: Tue, 25 Nov 2025 03:10:09 +0900 Subject: [PATCH 7/7] fix: wrong circleci config --- .circleci/config.yml | 5 +++-- convention-plugins/build.gradle.kts | 10 ++++++++++ kotlin-json-patch/build.gradle.kts | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f3af18..2a1d4f4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,7 @@ orbs: # Define a job to be invoked later in a workflow. # See: https://circleci.com/docs/configuration-reference/#jobs +# ref: https://circleci.com/docs/guides/execution-managed/using-macos/ jobs: build-android: executor: java17 @@ -29,8 +30,8 @@ jobs: build-ios: macos: - xcode: 15.0.0 - resource_class: medium + xcode: 16.4.0 + resource_class: macos.m1.medium.gen1 steps: - checkout - run: diff --git a/convention-plugins/build.gradle.kts b/convention-plugins/build.gradle.kts index c5a80b7..4a42fdc 100644 --- a/convention-plugins/build.gradle.kts +++ b/convention-plugins/build.gradle.kts @@ -4,4 +4,14 @@ plugins { repositories { gradlePluginPortal() // To use 'maven-publish' and 'signing' plugins in our own plugin +} + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +kotlin { + jvmToolchain(17) } \ No newline at end of file diff --git a/kotlin-json-patch/build.gradle.kts b/kotlin-json-patch/build.gradle.kts index 0bd861e..3153a8a 100644 --- a/kotlin-json-patch/build.gradle.kts +++ b/kotlin-json-patch/build.gradle.kts @@ -1,4 +1,5 @@ import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl +import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode plugins { alias(libs.plugins.kotlinMultiplatform) @@ -21,6 +22,7 @@ kotlin { androidTarget { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8) + jvmDefault = JvmDefaultMode.DISABLE } publishLibraryVariants("release", "debug") }