feat: upgrade negentropy-kmp to v1.0.2, enable macosArm64 target

negentropy-kmp v1.0.2 now publishes a macosArm64 artifact, unblocking
the macOS native target. Wired macosMain/macosTest source sets through
appleMain/appleTest and updated run_all.sh to run the K/Native
benchmark on both Linux (linuxX64) and macOS (macosArm64).

https://claude.ai/code/session_01WSNE6QKiYM2ZutQD2UihCW
This commit is contained in:
Claude
2026-04-11 00:44:33 +00:00
parent 731e32eb61
commit fa0da7fae3
3 changed files with 31 additions and 19 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ materialIconsExtended = "1.7.3"
media3 = "1.10.0"
mockk = "1.14.9"
kotlinx-coroutines-test = "1.10.2"
negentropyKmp = "1.0.1"
negentropyKmp = "v1.0.2"
netUrlencoderLibVersion = "1.6.0"
navigationCompose = "2.9.7"
okhttp = "5.3.2"
+12 -15
View File
@@ -82,25 +82,22 @@ fi
echo ""
# ============================================================================
# 2. Kotlin/Native benchmark
# 2. Kotlin/Native benchmark (Linux and macOS)
# ============================================================================
# macosArm64 target is blocked until negentropy-kmp publishes a macosArm64
# artifact. Once unblocked, add: Darwin) KN_TARGET="macosArm64Test" ;;
if [ "$OS_NAME" = "Linux" ]; then
echo "=== Running Kotlin/Native benchmark ==="
KN_TARGET="linuxX64Test"
echo "=== Running Kotlin/Native benchmark ==="
case "$OS_NAME" in
Linux) KN_TARGET="linuxX64Test" ;;
Darwin) KN_TARGET="macosArm64Test" ;;
esac
"$ROOT/gradlew" -p "$ROOT" ":quartz:$KN_TARGET" --tests "*.Secp256k1NativeBenchmark" \
2>/dev/null || true
"$ROOT/gradlew" -p "$ROOT" ":quartz:$KN_TARGET" --tests "*.Secp256k1NativeBenchmark" \
2>/dev/null || true
KN_XML="$ROOT/quartz/build/test-results/$KN_TARGET/TEST-${KN_TARGET}.com.vitorpamplona.quartz.utils.secp256k1.Secp256k1NativeBenchmark.xml"
if [ -f "$KN_XML" ]; then
sed -n '/<!\[CDATA\[/,/\]\]>/p' "$KN_XML" | grep -v 'CDATA\|]]>'
else
echo "K/Native benchmark XML not found."
fi
KN_XML="$ROOT/quartz/build/test-results/$KN_TARGET/TEST-${KN_TARGET}.com.vitorpamplona.quartz.utils.secp256k1.Secp256k1NativeBenchmark.xml"
if [ -f "$KN_XML" ]; then
sed -n '/<!\[CDATA\[/,/\]\]>/p' "$KN_XML" | grep -v 'CDATA\|]]>'
else
echo "=== Skipping Kotlin/Native benchmark (only linuxX64 target available) ==="
echo "K/Native benchmark XML not found."
fi
echo ""
+18 -3
View File
@@ -87,7 +87,7 @@ kotlin {
linuxX64()
// macosArm64() — blocked until negentropy-kmp publishes a macosArm64 artifact
macosArm64()
// This makes sure that the resource file directory is visible for iOS tests.
val rootDir = "${rootProject.rootDir.path}/quartz/src/commonTest/resources"
@@ -299,8 +299,23 @@ kotlin {
dependsOn(iosTest.get())
}
// macosMain/macosTest source sets exist but are not wired until
// negentropy-kmp publishes a macosArm64 artifact.
val macosMain =
create("macosMain") {
dependsOn(appleMain)
}
val macosTest =
create("macosTest") {
dependsOn(appleTest)
}
val macosArm64Main by getting {
dependsOn(macosMain)
}
val macosArm64Test by getting {
dependsOn(macosTest)
}
val linuxMain =
create("linuxMain") {