blob: ff1b93e95d63e1758d3f78cd2f1f477fa79a7526 [file] [log] [blame]
boolean getBooleanValue(String environmentVariable, String projectProperty, boolean defaultValue) {
String env = System.getenv(environmentVariable)
if (env != null) {
return !env.isEmpty();
}
return getBooleanValue(project, projectProperty, defaultValue);
}
boolean getBooleanValue(Project proj, String propertyName, boolean defaultValue) {
if (proj.hasProperty(propertyName)) {
String prop = (String) project.properties[propertyName]
if (prop != null) {
return Boolean.valueOf(prop);
}
} else {
return defaultValue;
}
}
/**
* 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.androidPluginVersion=ext.buildVersion
databindingProperties.isIndependent = rootProject.name.equals("data-binding")
databindingProperties.compileSdkVersion = databindingProperties.compileSdkVersionStr.trim()
ext.dataBindingConfig = databindingProperties
databindingProperties.artifactOutFolder = "${root}/../../out/repo"
def addRemoteRepos = getBooleanValue(project, "addRemoteRepos", false)
ext.dataBindingConfig.addRemoteRepos = addRemoteRepos
def dataBindingConfig = ext.dataBindingConfig
def localRepositories = ["${root}/../../prebuilts/tools/common/offline-m2",
"${root}/../../prebuilts/gradle-plugin",
"${root}/../../prebuilts/tools/common/m2/repository",
"${root}/../../prebuilts/maven_repo/android",
databindingProperties.artifactOutFolder]
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 (!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"
}
}
}
ext.enablePublishing = this.&enablePublishing