Files
DroidDeck/settings.gradle
maxjivi05 5d10c8e96d PlayStore: deliver runtime modules and resources on demand
Preserve component file inventories, reuse setup controls, and keep Play-managed resources behind a read-only guest stream. Build version 0.6.9.2 with version code 19 and support large signed release assets.
2026-11-03 13:27:50 -05:00

41 lines
1.7 KiB
Groovy

pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
rootProject.name = "DroidDeck"
include ':app'
if (providers.gradleProperty('playDistribution').getOrElse('false').toBoolean()) {
def payloads = file('build/playstore-payloads')
def registry = new File(payloads, 'modules.json')
if (!registry.isFile()) throw new GradleException('Stage verified Play payloads before building the Play distribution')
def modules = new groovy.json.JsonSlurper().parse(registry)
if (!(modules instanceof List) || modules.isEmpty() || modules.size() > 10 || modules.unique(false).size() != modules.size()) {
throw new GradleException('Invalid Play feature module registry')
}
def packs = new groovy.json.JsonSlurper().parse(new File(payloads, 'assetpacks.json'))
if (!(packs instanceof List) || packs.size() > 100 || packs.unique(false).size() != packs.size()) throw new GradleException('Invalid Play asset pack registry')
packs.each { name ->
if (!(name instanceof String) || !(name ==~ /playdata[0-9]{2}/)) throw new GradleException('Invalid Play asset pack name')
include ":${name}"
project(":${name}").projectDir = new File(payloads, name)
}
modules.each { name ->
if (!(name instanceof String) || !(name ==~ /playpayload[0-9]{2}/)) throw new GradleException('Invalid Play feature module name')
include ":${name}"
project(":${name}").projectDir = new File(payloads, name)
}
}