/** * Helper build script that reads data binding variables and sets up the projects. */ def forceReleaseVersion = project.hasProperty('useReleaseVersion') && project.getProperty('useReleaseVersion').equals("true") def root = ext.rootFolder Properties databindingProperties = new Properties() databindingProperties.load(new FileInputStream("${root}/databinding.properties")) if (forceReleaseVersion) { databindingProperties.version = databindingProperties.releaseVersion } databindingProperties.compileSdkVersion = Integer.parseInt(databindingProperties.compileSdkVersionStr) def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath databindingProperties.mavenRepoDir = "${repoBase}/${databindingProperties.mavenRepoName}" databindingProperties.extraPluginsRepoDir = "${root}/${databindingProperties.extraPluginsRepoName}" databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}" databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" + "/${databindingProperties.releaseVersion}" ext.config = databindingProperties ext.config.externalPrebuiltsBase = "${root}/../../prebuilts" databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository" println "local maven repo is ${ext.config.mavenRepoDir}." println "local pre-build folder is ${ext.config.prebuildFolder}." println "mega-repo folder is ${ext.config.megaRepoDir}." new File(ext.config.mavenRepoDir).mkdir() new File(ext.config.prebuildFolder).mkdir() def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true") ext.config.addRemoteRepos = addRemoteRepos ext.config.sharedSupportRepoDir = "${ext.config.externalPrebuiltsBase}/maven_repo/android" ext.config.inReleaseBuild = !databindingProperties.version.endsWith("SNAPSHOT") def config = ext.config def localRepositories = ["${config.extraPluginsRepoDir}", "${config.megaRepoDir}", "${config.mavenRepoDir}", "${config.externalPrebuiltsBase}/tools/common/offline-m2", config.sharedSupportRepoDir, "${config.externalPrebuiltsBase}/gradle-plugin", "${config.externalPrebuiltsBase}/tools/common/m2/repository"] ext.config.localRepositories = localRepositories def addRepos(RepositoryHandler handler) { config.localRepositories.each { repo -> handler.maven { url repo } } if (config.addRemoteRepos) { handler.jcenter() handler.mavenCentral() } } ext.addRepos = this.&addRepos subprojects { buildscript { addRepos(repositories) } repositories { addRepos(repositories) } }