Skip to content

Commit 8daafe6

Browse files
jamesarichCopilotclaude
authored
Replace :core:proto with org.meshtastic:protobufs:2.7.25 (#5675)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent f77998d commit 8daafe6

32 files changed

Lines changed: 149 additions & 1172 deletions

File tree

.gitmodules

Lines changed: 0 additions & 4 deletions
This file was deleted.

androidApp/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ dependencies {
210210
implementation(projects.core.network)
211211
implementation(projects.core.nfc)
212212
implementation(projects.core.prefs)
213-
implementation(projects.core.proto)
213+
implementation(libs.meshtastic.protobufs)
214214
implementation(projects.core.service)
215215
implementation(projects.core.resources)
216216
implementation(projects.core.ui)

build-logic/convention/src/main/kotlin/RootConventionPlugin.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ private val ALL_MODULES_FULL =
9595
":core:network",
9696
":core:nfc",
9797
":core:prefs",
98-
":core:proto",
9998
":core:repository",
10099
":core:service",
101100
":core:resources",
@@ -118,11 +117,10 @@ private val ALL_MODULES_FULL =
118117
private val ANDROID_ONLY_MODULES = setOf(":androidApp", ":core:api", ":core:barcode", ":feature:widget")
119118

120119
/**
121-
* Modules excluded from Dokka aggregation. :core:proto contains only auto-generated Wire classes (no KDoc value) and
122-
* its TAKPacket-SDK dependency doesn't publish iOS metadata JARs, causing `transformCommonMainDependenciesMetadata` to
123-
* fail during Dokka resolution.
120+
* Modules excluded from Dokka aggregation. Empty now that :core:proto has been replaced by
121+
* the external org.meshtastic:protobufs SDK.
124122
*/
125-
private val DOKKA_EXCLUDED_MODULES = setOf(":core:proto")
123+
private val DOKKA_EXCLUDED_MODULES = emptySet<String>()
126124

127125
private fun allModules(): List<String> = ALL_MODULES_FULL
128126

build-logic/convention/src/main/kotlin/org/meshtastic/buildlogic/KotlinAndroid.kt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -147,20 +147,6 @@ internal fun Project.configureKotlinMultiplatform() {
147147
}
148148
}
149149

150-
// TAKPacket-SDK doesn't publish iOS metadata JARs (the .klib exists but the metadata
151-
// .jar returns 404). iOS native compilation resolves fine via .klib, but
152-
// `transformCommonMainDependenciesMetadata` (triggered by Dokka/publishing) fails.
153-
// Exclude the SDK only from the CompilationDependenciesMetadata configs that feed
154-
// the metadata transform — NOT from Implementation/Resolvable configs which feed the
155-
// actual compiler classpath.
156-
val iosMetadataConfigs =
157-
setOf("iosArm64CompilationDependenciesMetadata", "iosSimulatorArm64CompilationDependenciesMetadata")
158-
configurations.configureEach {
159-
if (name in iosMetadataConfigs) {
160-
exclude(mapOf("group" to "org.meshtastic", "module" to "takpacket-sdk"))
161-
}
162-
}
163-
164150
configureMokkery()
165151
configureKotlin<KotlinMultiplatformExtension>()
166152
}

build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,13 @@ plugins.withId("org.meshtastic.flatpak.sources") {
4646
extensions.configure<org.meshtastic.flatpak.sources.FlatpakSourcesExtension> {
4747
outputFile.set(layout.buildDirectory.file("flatpak-sources.json"))
4848
mustRunAfterTasks.set(listOf(":desktopApp:assemble", ":desktopApp:packageUberJarForCurrentOS"))
49-
// Force-resolve platform-specific native artifacts not resolved on the generation host
49+
// Force-resolve platform-specific native artifacts not resolved on the generation host.
50+
// The compose-desktop version MUST track the compose-multiplatform catalog version, else the
51+
// arm64 offline flatpak build fails to resolve desktop-jvm-linux-arm64 (skiko version per its POM).
5052
targetPlatforms.set(setOf("linux-x64", "linux-arm64"))
5153
platformDependencies.set(setOf(
5254
"org.jetbrains.skiko:skiko-awt-runtime-{platform}:0.144.6",
53-
"org.jetbrains.compose.desktop:desktop-jvm-{platform}:1.11.0",
55+
"org.jetbrains.compose.desktop:desktop-jvm-{platform}:1.11.1",
5456
))
5557
}
5658
}

core/data/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ kotlin {
3535
implementation(projects.core.model)
3636
implementation(projects.core.network)
3737
implementation(projects.core.prefs)
38-
implementation(projects.core.proto)
38+
implementation(libs.meshtastic.protobufs)
3939
implementation(projects.core.takserver)
4040

4141
implementation(libs.jetbrains.lifecycle.runtime)

core/database/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ kotlin {
3838
api(projects.core.common)
3939
implementation(projects.core.di)
4040
api(projects.core.model)
41-
implementation(projects.core.proto)
41+
implementation(libs.meshtastic.protobufs)
4242
implementation(projects.core.resources)
4343
implementation(libs.androidx.room.paging)
4444
implementation(libs.kotlinx.serialization.json)

core/datastore/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ kotlin {
2828
commonMain.dependencies {
2929
implementation(projects.core.common)
3030
implementation(projects.core.model)
31-
implementation(projects.core.proto)
31+
implementation(libs.meshtastic.protobufs)
3232
api(libs.androidx.datastore)
3333
api(libs.androidx.datastore.preferences)
3434
implementation(libs.kotlinx.serialization.json)

core/domain/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ kotlin {
2727
commonMain.dependencies {
2828
implementation(projects.core.repository)
2929
implementation(projects.core.model)
30-
implementation(projects.core.proto)
30+
implementation(libs.meshtastic.protobufs)
3131
implementation(projects.core.common)
3232
implementation(projects.core.database)
3333
implementation(projects.core.datastore)

core/model/build.gradle.kts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ kotlin {
3131

3232
sourceSets {
3333
commonMain.dependencies {
34-
api(projects.core.proto)
34+
api(libs.meshtastic.protobufs)
3535
api(projects.core.common)
3636
api(projects.core.resources)
3737

@@ -42,6 +42,17 @@ kotlin {
4242
api(libs.okio)
4343
api(libs.compose.multiplatform.resources)
4444
}
45+
jvmAndroidMain.dependencies {
46+
// TAKPacket-SDK publishes only JVM artifacts since 0.5.2 (proto types
47+
// now come from the protobufs SDK above; the CoT conversion pipeline is
48+
// zstd-jni/xpp3-bound). Scoped to jvmAndroidMain so iOS compilations
49+
// never try to resolve it — iOS code goes through the expect/actual
50+
// seams in :core:takserver instead.
51+
api(libs.takpacket.sdk.kmp.get().toString()) {
52+
exclude(group = "com.github.luben", module = "zstd-jni")
53+
exclude(group = "org.ogce", module = "xpp3")
54+
}
55+
}
4556
androidMain.dependencies {
4657
api(libs.androidx.annotation)
4758
api(libs.androidx.core.ktx)

0 commit comments

Comments
 (0)