81 lines
No EOL
4 KiB
Groovy
81 lines
No EOL
4 KiB
Groovy
/**
|
|
* Helper build script that reads data binding variables and sets up the projects.
|
|
*/
|
|
def root = ext.dataBindingRootFolder
|
|
Properties databindingProperties = new Properties()
|
|
databindingProperties.load(new FileInputStream("${root}/databinding.properties"))
|
|
|
|
// load android gradle plugin's version file
|
|
apply from: "${root}/../buildSrc/base/version.gradle"
|
|
|
|
databindingProperties.version = ext.buildVersion
|
|
databindingProperties.compileSdkVersion = Integer.parseInt(databindingProperties.compileSdkVersionStr)
|
|
def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath
|
|
databindingProperties.androidGradlePluginRepoDir = "${root}/../../${databindingProperties.androidGradlePluginOutRepo}"
|
|
databindingProperties.mavenRepoDir = "${databindingProperties.androidGradlePluginRepoDir}"
|
|
databindingProperties.internalPrebuiltsRepoDir = "${root}/${databindingProperties.internalPrebuiltsRepoName}"
|
|
|
|
databindingProperties.inReleaseBuild = project.hasProperty('release') && project.ext.release == "true"
|
|
|
|
databindingProperties.runProguard = (project.hasProperty('runProguard') && project.getProperty('runProguard').equals("true"))
|
|
// load version from gradle build file
|
|
apply from: "$root/../buildSrc/base/version.gradle"
|
|
databindingProperties.androidPluginVersion=ext.buildVersion
|
|
databindingProperties.isIndependent = rootProject.name.equals("data-binding")
|
|
databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}"
|
|
databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" +
|
|
"/${databindingProperties.releaseVersion}"
|
|
|
|
ext.dataBindingConfig = databindingProperties
|
|
ext.dataBindingConfig.externalPrebuiltsBase = "${root}/../../prebuilts"
|
|
databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository"
|
|
|
|
new File(ext.dataBindingConfig.mavenRepoDir).mkdir()
|
|
new File(ext.dataBindingConfig.prebuildFolder).mkdir()
|
|
|
|
def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true")
|
|
ext.dataBindingConfig.addRemoteRepos = addRemoteRepos
|
|
ext.dataBindingConfig.sharedSupportRepoDir = "${ext.dataBindingConfig.externalPrebuiltsBase}/maven_repo/android"
|
|
ext.dataBindingConfig.forGradlePlugin = project.hasProperty('forGradlePlugin') && project.getProperty('forGradlePlugin').equals("true")
|
|
def dataBindingConfig = ext.dataBindingConfig
|
|
def localRepositories = ["${dataBindingConfig.internalPrebuiltsRepoDir}",
|
|
"${dataBindingConfig.megaRepoDir}",
|
|
"${dataBindingConfig.mavenRepoDir}",
|
|
"${dataBindingConfig.externalPrebuiltsBase}/tools/common/offline-m2",
|
|
dataBindingConfig.sharedSupportRepoDir,
|
|
"${dataBindingConfig.externalPrebuiltsBase}/gradle-plugin",
|
|
"${dataBindingConfig.externalPrebuiltsBase}/tools/common/m2/repository",
|
|
"${databindingProperties.androidGradlePluginRepoDir}"]
|
|
ext.dataBindingConfig.localRepositories = localRepositories
|
|
def addRepos(RepositoryHandler handler) {
|
|
dataBindingConfig.localRepositories.each { repo ->
|
|
handler.maven {
|
|
url repo
|
|
}
|
|
}
|
|
if (dataBindingConfig.addRemoteRepos) {
|
|
handler.jcenter()
|
|
handler.mavenCentral()
|
|
}
|
|
}
|
|
ext.addRepos = this.&addRepos
|
|
subprojects {
|
|
buildscript {
|
|
addRepos(repositories)
|
|
}
|
|
repositories {
|
|
addRepos(repositories)
|
|
}
|
|
}
|
|
|
|
def enablePublishing(p, addJavadoc) {
|
|
if (!ext.dataBindingConfig.isIndependent) {
|
|
p.apply from: "$dataBindingRootFolder/../buildSrc/base/publish.gradle"
|
|
p.apply from: "$dataBindingRootFolder/../buildSrc/base/bintray.gradle"
|
|
if (addJavadoc) {
|
|
p.apply from: "$dataBindingRootFolder/../buildSrc/base/javadoc.gradle"
|
|
}
|
|
rootProject.project(":base:gradle-core").publishLocal.dependsOn p.publishLocal
|
|
}
|
|
}
|
|
ext.enablePublishing = this.&enablePublishing |