mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-08 23:54:39 +00:00
The `:napplet` sandbox runtime (NappletHostActivity, NappletContentServer, NappletIpc, NappletKeyActions) now lives in a new :nappletHost Android library that depends only on :commons + :quartz — NEVER :amethyst. So the sandbox code is compile-time incapable of importing Amethyst.instance / LocalCache / Account, turning the "two-process, no secrets in the sandbox" rule from a convention into a build-graph guarantee. - New module + NappletHostContract (Intent-extra keys + broker service FQN), so the launcher (amethyst) and activity (module) share the launch contract with no dependency cycle. The activity binds the broker by class name. - Capability labels for the "what it can access" sheet are resolved by the launcher (which has app resources) and passed in, so the module needs no capability string resources. Host-only strings moved into the module. - amethyst depends on :nappletHost; the broker-side (NappletBrokerService, gateways, NappletLaunchRegistry) stays in :amethyst. Manifest declares the activity by FQN (keeps @style/Theme.Amethyst resolvable). - Docs updated (CLAUDE.md + security plan). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ncMHuBBVHEf7spAoSssde
45 lines
1.1 KiB
Kotlin
45 lines
1.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") }
|
|
maven { url = uri("https://raw.githubusercontent.com/guardianproject/gpmaven/master") }
|
|
}
|
|
}
|
|
|
|
rootProject.name = "Amethyst"
|
|
include(":amethyst")
|
|
include(":nappletHost")
|
|
include(":benchmark")
|
|
include(":quartz")
|
|
include(":geode")
|
|
include(":commons")
|
|
include(":quic")
|
|
include(":nestsClient")
|
|
include(":desktopApp")
|
|
include(":cli")
|
|
include(":quic-interop")
|
|
project(":quic-interop").projectDir = file("quic/interop")
|