mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-30 07:37:38 +00:00
Quartz moves to its own repo, the way the crypto primitives moved to crypto-kmp. Every module depends on com.vitorpamplona.quartz:quartz 2.0.0 (libs.quartz) instead of :quartz, and -PquartzDir=../quartz builds a local checkout instead of the artifact, for every module and for quic's own quartz dependency (which replaces the root build's substitution of the published quartz with :quartz). What moved with quartz: its CI jobs (lint tasks, test-quartz-linux-native, test-quartz-ios), the Maven Central publish step of the release workflow, jitpack.yml, tools/unicode-nfkc, the nostr-expert and event-store-semantics skills, the agent-skill check, and the README's library usage docs. What stays here: - The four quartz client tests that need a real Ktor socket relay (TrustNetworkSync*, GiantReqStreamTest, BulkDownloadBenchmark) move to geode's tests; geode forwards -PprodRelayBench for the latter. quartz's other relay-client tests now use a test relay of its own, which ends quartz's test dependency on geode. - The benchmark module's resources (previously read from quartz's androidDeviceTest resources) move into benchmark/; relayBench --real reads the corpus from there. - NoteComposeKindCoverageTest reads EventFactory.kt from quartz's JVM sources jar, or from the -PquartzDir checkout, passed by commonsUI's build. - commons and commonsUI declare crypto-kmp (and commons mls-kmp), which they import directly. Through quartz's api alone, a -PcryptoKmpDir checkout never reached the common metadata compile. - The catalog drops what only quartz used (kchesslib, negentropy, jackson-databind, sqlite-bundled, secp256k1-kmp common, compose runtime-annotation, the maven-publish plugin). agent_config_check checks a skill's quartz/... paths against a ../quartz checkout when there is one and skips them otherwise. AGENTS.md, the skills, CONTRIBUTING, BUILDING, RELEASE_OPS, PLANS and the READMEs point at the new repo. Needs quartz 2.0.0 (and crypto-kmp 1.0.0) on Maven Central before CI can resolve it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DEkJaDWYrcTbGvT8JLQCrG
93 lines
3.1 KiB
Kotlin
93 lines
3.1 KiB
Kotlin
pluginManagement {
|
|
repositories {
|
|
google {
|
|
content {
|
|
includeGroupByRegex("com\\.android.*")
|
|
includeGroupByRegex("com\\.google.*")
|
|
includeGroupByRegex("androidx.*")
|
|
}
|
|
}
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
maven {
|
|
url = uri("https://jitpack.io")
|
|
content {
|
|
includeModule("com.github.UnifiedPush", "android-connector")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
mavenLocal()
|
|
google()
|
|
mavenCentral()
|
|
maven { url = uri("https://jitpack.io") }
|
|
}
|
|
}
|
|
|
|
rootProject.name = "Amethyst"
|
|
include(":amethyst")
|
|
include(":nappletHost")
|
|
include(":benchmark")
|
|
include(":baselineprofile")
|
|
include(":geode")
|
|
include(":commons")
|
|
include(":commonsUI")
|
|
include(":nestsClient")
|
|
include(":marmotQuic")
|
|
include(":desktopApp")
|
|
include(":cli")
|
|
include(":relayBench")
|
|
include(":marmotBench")
|
|
|
|
// quartz lives in its own repo (vitorpamplona/quartz) and comes from Maven Central, like crypto
|
|
// and quic below. To change it alongside the app, point Gradle at a local checkout and it builds
|
|
// that checkout instead of the published artifact, for every module and for quic's own
|
|
// dependency on it:
|
|
// ./gradlew -PquartzDir=../quartz :commons:jvmTest
|
|
providers.gradleProperty("quartzDir").orNull?.let { dir ->
|
|
includeBuild(dir) {
|
|
dependencySubstitution {
|
|
substitute(module("com.vitorpamplona.quartz:quartz")).using(project(":quartz"))
|
|
}
|
|
}
|
|
}
|
|
|
|
// crypto-kmp lives in its own repo (vitorpamplona/crypto-kmp) and reaches this build through
|
|
// quartz. To change it alongside quartz and the app, point Gradle at a local checkout:
|
|
// ./gradlew -PquartzDir=../quartz -PcryptoKmpDir=../crypto-kmp :commons:jvmTest
|
|
providers.gradleProperty("cryptoKmpDir").orNull?.let { dir ->
|
|
includeBuild(dir) {
|
|
dependencySubstitution {
|
|
substitute(module("com.vitorpamplona.crypto:crypto")).using(project(":crypto"))
|
|
}
|
|
}
|
|
}
|
|
|
|
// quic lives in its own repo (vitorpamplona/quic-kmp) and comes from Maven Central. To change
|
|
// it alongside nestsClient or marmotQuic, point Gradle at a local checkout and it builds that
|
|
// checkout instead of the published artifact:
|
|
// ./gradlew -PquicKmpDir=../quic-kmp :nestsClient:jvmTest
|
|
providers.gradleProperty("quicKmpDir").orNull?.let { dir ->
|
|
includeBuild(dir) {
|
|
dependencySubstitution {
|
|
substitute(module("com.vitorpamplona.quic:quic")).using(project(":quic"))
|
|
}
|
|
}
|
|
}
|
|
|
|
// The MLS engine lives in its own repo (vitorpamplona/mls-kmp) and comes from Maven Central, like
|
|
// quic, and reaches this build through quartz. To change it alongside Marmot or cordn, build a
|
|
// local checkout instead of the artifact:
|
|
// ./gradlew -PquartzDir=../quartz -PmlsKmpDir=../mls-kmp :commons:jvmTest
|
|
providers.gradleProperty("mlsKmpDir").orNull?.let { dir ->
|
|
includeBuild(dir) {
|
|
dependencySubstitution {
|
|
substitute(module("com.vitorpamplona.mls:mls")).using(project(":mls"))
|
|
}
|
|
}
|
|
}
|