propLoader.gradle revision 9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3
1/** 2 * Helper build script that reads data binding variables and sets up the projects. 3 */ 4def forceReleaseVersion = project.hasProperty('useReleaseVersion') && project.getProperty('useReleaseVersion').equals("true") 5def root = ext.dataBindingRootFolder 6Properties databindingProperties = new Properties() 7databindingProperties.load(new FileInputStream("${root}/databinding.properties")) 8if (forceReleaseVersion) { 9 databindingProperties.version = databindingProperties.releaseVersion 10} 11databindingProperties.compileSdkVersion = Integer.parseInt(databindingProperties.compileSdkVersionStr) 12def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath 13databindingProperties.mavenRepoDir = "${repoBase}/${databindingProperties.mavenRepoName}" 14databindingProperties.internalPrebuiltsRepoDir = "${root}/${databindingProperties.internalPrebuiltsRepoName}" 15databindingProperties.runProguard = project.hasProperty('runProguard') && project.getProperty('runProguard').equals("true") 16 17// load version from gradle build file 18apply from: "$root/../buildSrc/base/version.gradle" 19databindingProperties.androidPluginVersion=ext.buildVersion 20 21databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}" 22databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" + 23 "/${databindingProperties.releaseVersion}" 24 25ext.dataBindingConfig = databindingProperties 26ext.dataBindingConfig.externalPrebuiltsBase = "${root}/../../prebuilts" 27databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository" 28databindingProperties.androidGradlePluginRepoDir = "${root}/../../${databindingProperties.androidGradlePluginOutRepo}" 29 30println "local maven repo is ${ext.dataBindingConfig.mavenRepoDir}." 31println "local pre-build folder is ${ext.dataBindingConfig.prebuildFolder}." 32println "mega-repo folder is ${ext.dataBindingConfig.megaRepoDir}." 33 34new File(ext.dataBindingConfig.mavenRepoDir).mkdir() 35new File(ext.dataBindingConfig.prebuildFolder).mkdir() 36 37def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true") 38ext.dataBindingConfig.addRemoteRepos = addRemoteRepos 39ext.dataBindingConfig.sharedSupportRepoDir = "${ext.dataBindingConfig.externalPrebuiltsBase}/maven_repo/android" 40ext.dataBindingConfig.inReleaseBuild = !databindingProperties.version.endsWith("SNAPSHOT") 41ext.dataBindingConfig.forGradlePlugin = project.hasProperty('forGradlePlugin') && project.getProperty('forGradlePlugin').equals("true") 42def dataBindingConfig = ext.dataBindingConfig 43def localRepositories = ["${dataBindingConfig.internalPrebuiltsRepoDir}", 44 "${dataBindingConfig.megaRepoDir}", 45 "${dataBindingConfig.mavenRepoDir}", 46 "${dataBindingConfig.externalPrebuiltsBase}/tools/common/offline-m2", 47 dataBindingConfig.sharedSupportRepoDir, 48 "${dataBindingConfig.externalPrebuiltsBase}/gradle-plugin", 49 "${dataBindingConfig.externalPrebuiltsBase}/tools/common/m2/repository", 50 "${databindingProperties.androidGradlePluginRepoDir}"] 51ext.dataBindingConfig.localRepositories = localRepositories 52def addRepos(RepositoryHandler handler) { 53 dataBindingConfig.localRepositories.each { repo -> 54 handler.maven { 55 url repo 56 } 57 } 58 if (dataBindingConfig.addRemoteRepos) { 59 handler.jcenter() 60 handler.mavenCentral() 61 } 62} 63ext.addRepos = this.&addRepos 64subprojects { 65 buildscript { 66 addRepos(repositories) 67 } 68 repositories { 69 addRepos(repositories) 70 } 71} 72 73