Skip to content

Build updates#1

Merged
solcott merged 14 commits into
mainfrom
build-updates
Jun 1, 2026
Merged

Build updates#1
solcott merged 14 commits into
mainfrom
build-updates

Conversation

@solcott
Copy link
Copy Markdown
Owner

@solcott solcott commented Jun 1, 2026

No description provided.

solcott added 14 commits May 21, 2026 09:33
… to 1.0.0

* Upgrade Gradle from 8.6 to 8.14.4
* Upgrade `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0
* Upgrade `actions/checkout` to v6
* Upgrade `actions/setup-java` to v5
* Migrate `gradle/gradle-build-action@v3` to `gradle/actions/setup-gradle@v6`
* Upgrade `codecov/codecov-action` to v6
The dependency is already added by Kotlin Target Hierarchy template
Defining disabled rules was deprecated in build.gradle.kts files
* Migrate deprecated `kotlinOptions` to `compilerOptions` using `JvmTarget.JVM_11` in `build.gradle.kts`
* Add `browser()` target to the `wasmJs` configuration block
* Defer Kotlin compiler options configuration by using `compileTaskProvider.configure` for multiplatform and native targets
* Add explicit `kotlinx-atomic-fu` dependencies to `nativeMain`, `jsMain`, and `wasmJsMain` source sets via the version catalog
* Fix minor spacing formatting in `configureCocoapods`
* Add `updateDaemonJvm` task configuration in `build.gradle.kts` to target Java 17 and the Azul vendor
* Add `gradle/gradle-daemon-jvm.properties` with platform-specific toolchain URLs generated by the task
Replace hardcoded JVM, SDK, and dependency versions with version catalog
references throughout the build scripts and convention plugins.

Introduce jvmToolchain=17 and jvmCompat=11 version catalog entries to
clearly separate toolchain from target compatibility: the Gradle daemon
and Java/Kotlin compilers run on JDK 17, while compiled bytecode targets
JVM 11 for downstream consumer compatibility.

Version catalog (libs.versions.toml):
- Bump androidCompileSdk/targetSdk 33 -> 34
- Bump androidGradlePlugin 8.0.0 -> 8.2.2
- Bump atomicFu 0.24.0 -> 0.26.1
- Bump dokkaGradlePlugin 1.9.20 -> 2.2.0
- Bump ktlintGradle 12.1.0 -> 12.3.0
- Bump jacocoGradlePlugin 0.8.12 -> 0.8.14
- Bump mavenPublishPlugin 0.34.0 -> 0.35.0
- Bump spotlessPluginGradle 6.4.1 -> 8.5.1
- Bump testCore 1.6.1 -> 1.7.0
- Bump kover 0.9.0-RC -> 0.9.8
- Bump truth 1.1.3 -> 1.4.5
- Bump binary-compatibility-validator 0.15.0-Beta.2 -> 0.18.1
- Add jvmToolchain (17) and jvmCompat (11) version entries
- Add spotless plugin alias
- Remove unused molecule and paging dependencies

Convention plugins:
- Add VersionCatalogExt.kt with typed accessors for version catalog
  entries (jvmToolchain, jvmCompat, store, SDK versions)
- Replace hardcoded Versions object and magic numbers with version
  catalog lookups in AndroidConventionPlugin and
  KotlinMultiplatformConventionPlugin
- Wire jvmToolchain for compiler toolchain resolution (JDK 17) and
  jvmCompat for sourceCompatibility/targetCompatibility (JVM 11)
- Migrate to Dokka 2.x API (DokkaExtension replaces DokkaTask)
- Add ktlint plugin and configure rules to preserve single-line
  expression-body style (= with(project) {)

Root build.gradle.kts:
- Use version catalog alias for spotless plugin
- Derive JVM target/compatibility from libs.versions.jvmCompat

tooling/plugins/build.gradle.kts:
- Add ktlint plugin with rule overrides for expression-body formatting
- Derive Java/Kotlin JVM settings from version catalog
…endencies

* Upgrade Gradle to 9.5.1 and Kotlin to 2.3.21
* Migrate from `com.android.library` to `com.android.kotlin.multiplatform.library` in convention plugins
* Enable Gradle configuration cache and disable configure-on-demand in `gradle.properties`
* Update coroutines testing API from `TestCoroutineScope` to `TestScope` and `runTest`
* Remove redundant `AndroidManifest.xml` files and centralize Android namespace configuration in convention plugins
* Add `-Xcontext-parameters` Kotlin compiler argument in tooling:plugin module
* Upgrade various dependencies:
    * Android Gradle Plugin to 9.2.1
    * Coroutines and Serialization to 1.11.0
    * AtomicFU to 0.32.1
    * Ktlint to 1.8.0 (plugin to 14.2.0)
* Update `configureAndroid` to use context receivers and the new `KotlinMultiplatformAndroidLibraryTarget` configuration block
* Temporarily comment out `kmmBridge` plugin and related configurations
* Add `KMMBridge-Debug.yml` and `KMMBridge-Release.yml` workflows to trigger manual SPM builds
* Update `create_swift_package.yml` to a reusable `workflow_call` that handles JDK 17 setup, GitHub releases, and `kmmBridgePublish` execution
* Upgrade KMMBridge to version 1.2.1 and migrate plugin coordinates from `co.touchlab.faktory` to `co.touchlab.kmmbridge.github`
* Enable and configure the KMMBridge plugin with SPM support in `KotlinMultiplatformConventionPlugin.kt`
* Update `VERSION_NAME` to `5.1.0-SNAPSHOT` in `gradle.properties`
* Uncomment KMMBridge dependencies in `build.gradle.kts` and tooling plugin configurations
* Move repository definitions to `dependencyResolutionManagement` and `pluginManagement` in `settings.gradle`
* Replace legacy `buildscript` classpath dependencies with Version Catalog plugin aliases in `build.gradle.kts`
* Remove redundant `allprojects` repository block
* Update `libs.versions.toml` to include comprehensive plugin definitions and remove unused library entries
* Fix typo in `updateDaemonJvm` task comment
…upload

* Add `contents: read`, `checks: write`, and `pull-requests: write` permissions to the `build-and-test` job
* Add `--continue` flag to the Gradle build command to ensure all tests are executed
* Add `mikepenz/action-junit-report@v5` step to publish test results
* Restrict Codecov upload step to the `MobileNativeFoundation/Store` repository via an `if` condition
* Configure the `browser` target to use Karma with Chrome Headless
* Set a 5s timeout for Mocha in both `browser` and `nodejs` test tasks
@solcott solcott merged commit 67cf4ee into main Jun 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant