From 034a7e121c043f663a60812a1ea3d80a2f2f968b Mon Sep 17 00:00:00 2001 From: Alex Good Date: Tue, 21 Apr 2026 22:37:30 +0100 Subject: [PATCH 1/2] ci: fix release workflow --- .github/workflows/release.yaml | 21 ++++++++++----------- websocket/build.gradle.kts | 2 ++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f882238..b6d2528 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -186,28 +186,27 @@ jobs: **Gradle:** ```kotlin implementation("org.automerge:automerge:${{ needs.validate.outputs.version }}") - ``` - - **Maven:** - ```xml - - org.automerge - automerge - ${{ needs.validate.outputs.version }} - + implementation("org.automerge:automerge-websocket:${{ needs.validate.outputs.version }}") + implementation("org.automerge:automerge-kotlin:${{ needs.validate.outputs.version }}") + // Android (AAR with bundled native libs) + implementation("org.automerge:androidnative:${{ needs.validate.outputs.version }}") ``` ## Verification Artifacts will be available on Maven Central within 10-30 minutes: - - JAR: https://repo1.maven.org/maven2/org/automerge/automerge/${{ needs.validate.outputs.version }}/ - - AAR: https://repo1.maven.org/maven2/org/automerge/androidnative/${{ needs.validate.outputs.version }}/ + - JAR (core): https://repo1.maven.org/maven2/org/automerge/automerge/${{ needs.validate.outputs.version }}/ + - JAR (websocket): https://repo1.maven.org/maven2/org/automerge/automerge-websocket/${{ needs.validate.outputs.version }}/ + - JAR (kotlin): https://repo1.maven.org/maven2/org/automerge/automerge-kotlin/${{ needs.validate.outputs.version }}/ + - AAR (android): https://repo1.maven.org/maven2/org/automerge/androidnative/${{ needs.validate.outputs.version }}/ ## Changes See [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) for details. files: | lib/build/libs/automerge-*.jar + websocket/build/libs/automerge-websocket-*.jar + automerge-kotlin/build/libs/automerge-kotlin-*.jar android/build/outputs/aar/android-release.aar draft: false prerelease: false diff --git a/websocket/build.gradle.kts b/websocket/build.gradle.kts index 2a54d41..3a27e28 100644 --- a/websocket/build.gradle.kts +++ b/websocket/build.gradle.kts @@ -4,6 +4,8 @@ plugins { id("com.diffplug.spotless") } +base.archivesName.set("automerge-websocket") + java { withJavadocJar() withSourcesJar() From 1f33f38ac17f829de8ee76634625d6b0c0e5be4d Mon Sep 17 00:00:00 2001 From: Alex Good Date: Tue, 21 Apr 2026 22:37:30 +0100 Subject: [PATCH 2/2] v0.0.9 --- CHANGELOG.md | 19 +++++++++++++++++++ android-test-app/build.gradle.kts | 2 +- build.gradle.kts | 27 ++++++++++++++++++++++++++- 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31cc4fa..5b88fc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +## 0.0.9 + +### Added + +* `org.automerge.repo` - an implementation of the `automerge-repo` patterns from + the JavaScript world. This makes it easy to wire up networking and storage to + a reactive view of a document. +* `automerge-websocket` - a package which implements a websocket transport for + `org.automerge.repo`. This is wire compatible with the JavaScript implementation + and so can be used to interoperate with web clients talking to JS sync servers + or run Java sync servers talking to web clients +* `automerge-kotlin` - a small library of convenience functions for use when + working with `org.automerge.repo` from kotlin +* SLF4j integration + +### Changed + +* Updated to the `0.0.8` version of the Rust library + ## 0.0.8 * Update the rust `automerge` library to `0.7.1`. This dramatically improves diff --git a/android-test-app/build.gradle.kts b/android-test-app/build.gradle.kts index 3c750b8..fa8341e 100644 --- a/android-test-app/build.gradle.kts +++ b/android-test-app/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("com.android.application") version "8.13.0" } -var projectVersion = "0.0.8" +val projectVersion = version.toString() android { namespace = "org.automerge.testapp" diff --git a/build.gradle.kts b/build.gradle.kts index 399727a..7c21208 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,9 +12,34 @@ fun readCargoVersion(): String { val cargoVersion = readCargoVersion() +tasks.register("verifyVersionConsistency") { + description = "Verifies the project version matches -PexpectedVersion=X.Y.Z (used by the release workflow)." + group = "verification" + + doLast { + val actual = subprojects.first().version.toString() + if (actual == "unspecified") { + throw GradleException("Version not set in subprojects { } block") + } + val expected = project.findProperty("expectedVersion")?.toString() + if (expected != null && expected != actual) { + throw GradleException( + """ + Version mismatch! + build.gradle.kts: $actual + Expected (from tag): $expected + + Update `version` in the root build.gradle.kts `subprojects { }` block to $expected. + """.trimIndent() + ) + } + println("Version verified: $actual" + if (expected != null) " matches expected $expected" else "") + } +} + subprojects { group = "org.automerge" - version = "0.0.8" + version = "0.0.9" ext.set("cargoVersion", cargoVersion) ext.set("libVersionSuffix", cargoVersion.replace(".", "_"))