Files
mantra-kmp/settings.gradle.kts

44 lines
1.2 KiB
Kotlin
Raw Normal View History

2026-07-15 01:14:46 +02:00
rootProject.name = "Mantra"
2026-03-23 01:41:39 +02:00
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
google {
mavenContent {
includeGroupAndSubgroups("androidx")
includeGroupAndSubgroups("com.android")
includeGroupAndSubgroups("com.google")
}
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositories {
google {
mavenContent {
includeGroupAndSubgroups("androidx")
includeGroupAndSubgroups("com.android")
includeGroupAndSubgroups("com.google")
}
}
mavenCentral()
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
build: consume secp256k1-frost-kmp and lightning-kmp-app as composite-build submodules Add both libraries as git submodules and resolve them through Gradle composite builds instead of remote publications, so local changes to either library are picked up by the app build directly. Submodules: * secp256k1-frost-kmp (github.com/ac-cord-ac/secp256k1-frost-kmp) at 2478403 -- BIP-327 FROTH/FROST signing over secp256k1, KMP. * lightning-kmp-app (github.com/kngako/lightning-kmp-app) at 6745d88 -- phoenix business logic on top of lightning-kmp-core. Both submodules carry a local commit aligning them with this build's AGP 9.1.1 / Kotlin 2.4.10 (AGP version must match across a composite build or the android variants fail attribute matching). settings.gradle.kts: * includeBuild() both submodule checkouts. * lightning-kmp-app's project stays named ':library' (compose-resources derives its Res package from the project name), so an explicit dependencySubstitution maps the coordinate the app declares, fr.acinq.phoenix:lightning-kmp-app, onto that project. * Drop the jitpack.io repository: it only served com.github.kngako, which is no longer consumed as a binary. composeApp/build.gradle.kts: * commonMain gains ac.cord.auxiliary:library:1.0.0 (secp256k1-frost-kmp, substituted by the composite build). * commonMain replaces com.github.kngako.lightning-kmp-app:library (via JitPack) with fr.acinq.phoenix:lightning-kmp-app:1.0.0 (substituted by the composite build). lightning-kmp-core still comes from Maven Central. * Remove the RestoreJitPackClassifier component-metadata rule and the javax.inject import: it only existed to repair the artifact classifiers JitPack drops from the apple metadata variants, which no longer applies. gradle/libs.versions.toml: * Remove the now-unused lightningKmpApp version and the com.github.kngako lightning-kmp-app catalog entry. Verified: ./gradlew :composeApp:compileCommonMainKotlinMetadata :composeApp:compileDebugKotlinAndroid
2026-08-15 17:07:31 +02:00
include(":composeApp")
build: drop the secp256k1-frost-kmp submodule The previous commit moved the ChillDKG ritual onto bitcoin-kmp's native implementation, which was the only thing in this app using this library. Nothing imports `ac.cord.auxiliary.frost` or `ac.cord.auxiliary.cryptography` any more, so the submodule, its composite build and the dependency on it all go. Removed: - the `secp256k1-frost-kmp` submodule (deinit, git rm, and .git/modules cleared) - its entry in .gitmodules - `includeBuild("secp256k1-frost-kmp")` in settings.gradle.kts, with the surrounding comment made singular now that one composite build remains - `implementation("ac.cord.auxiliary:library:1.0.0")` in composeApp Note that `ac/cord/auxiliary/compose/**` under composeApp/src/jvmMain is this app's own code in a similarly-named package, unrelated to the library and untouched. Two commits made on the submodule to keep it building inside this composite -- gating its ios targets on macos, and moving it to AGP 9.4.0 -- existed only in this repository's .git/modules copy and are destroyed by the removal. They were exported as patches first. Neither is a loss worth chasing: both existed purely to make that project cooperate with a composite build that no longer includes it. The library is not gone from the world, only from this build. It still holds a FROST signer, which is the obvious next need now that the ritual produces threshold key material. But bitcoin-kmp ships `fr.acinq.bitcoin.crypto.frost.Frost` against the same natives this app now packages, so the signer will almost certainly come from there rather than from a second copy of secp256k1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 23:26:03 +02:00
// Composite build: substitute the external module coordinate with the submodule's :library project.
build: consume secp256k1-frost-kmp and lightning-kmp-app as composite-build submodules Add both libraries as git submodules and resolve them through Gradle composite builds instead of remote publications, so local changes to either library are picked up by the app build directly. Submodules: * secp256k1-frost-kmp (github.com/ac-cord-ac/secp256k1-frost-kmp) at 2478403 -- BIP-327 FROTH/FROST signing over secp256k1, KMP. * lightning-kmp-app (github.com/kngako/lightning-kmp-app) at 6745d88 -- phoenix business logic on top of lightning-kmp-core. Both submodules carry a local commit aligning them with this build's AGP 9.1.1 / Kotlin 2.4.10 (AGP version must match across a composite build or the android variants fail attribute matching). settings.gradle.kts: * includeBuild() both submodule checkouts. * lightning-kmp-app's project stays named ':library' (compose-resources derives its Res package from the project name), so an explicit dependencySubstitution maps the coordinate the app declares, fr.acinq.phoenix:lightning-kmp-app, onto that project. * Drop the jitpack.io repository: it only served com.github.kngako, which is no longer consumed as a binary. composeApp/build.gradle.kts: * commonMain gains ac.cord.auxiliary:library:1.0.0 (secp256k1-frost-kmp, substituted by the composite build). * commonMain replaces com.github.kngako.lightning-kmp-app:library (via JitPack) with fr.acinq.phoenix:lightning-kmp-app:1.0.0 (substituted by the composite build). lightning-kmp-core still comes from Maven Central. * Remove the RestoreJitPackClassifier component-metadata rule and the javax.inject import: it only existed to repair the artifact classifiers JitPack drops from the apple metadata variants, which no longer applies. gradle/libs.versions.toml: * Remove the now-unused lightningKmpApp version and the com.github.kngako lightning-kmp-app catalog entry. Verified: ./gradlew :composeApp:compileCommonMainKotlinMetadata :composeApp:compileDebugKotlinAndroid
2026-08-15 17:07:31 +02:00
includeBuild("lightning-kmp-app") {
dependencySubstitution {
// the submodule's project stays named :library (compose-resources derives the Res package
// from it); only the coordinate consumers declare is renamed.
substitute(module("fr.acinq.phoenix:lightning-kmp-app")).using(project(":library"))
}
}