Files

52 lines
1.4 KiB
Groovy

buildscript {
ext.kotlin_version = '1.9.22'
repositories {
google()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
subprojects { proj ->
def fixNamespace = {
if (proj.hasProperty('android')) {
def androidExt = proj.extensions.findByName('android')
if (androidExt != null && androidExt.hasProperty('namespace') && (androidExt.namespace == null || androidExt.namespace == '')) {
def manifestFile = proj.file('src/main/AndroidManifest.xml')
if (manifestFile.exists()) {
def manifestText = manifestFile.text
def matcher = manifestText =~ /package="([^"]+)"/
if (matcher.find()) {
androidExt.namespace = matcher.group(1)
}
}
}
}
}
if (proj.state.executed) {
fixNamespace()
} else {
proj.afterEvaluate { fixNamespace() }
}
}