blob: f8f0ae66da6c24a18e122803efeaaed2eeb62d93 [file] [log] [blame]
Yigit Boyar24bec1c2015-07-09 10:51:54 -07001/**
2 * Helper build script that reads data binding variables and sets up the projects.
3 */
Yigit Boyard6ddc642015-09-11 12:59:40 -07004def forceReleaseVersion = project.hasProperty('useReleaseVersion') && project.getProperty('useReleaseVersion').equals("true")
Yigit Boyar9784c9a2015-10-12 18:59:27 -07005def root = ext.dataBindingRootFolder
Yigit Boyar24bec1c2015-07-09 10:51:54 -07006Properties databindingProperties = new Properties()
7databindingProperties.load(new FileInputStream("${root}/databinding.properties"))
Yigit Boyard6ddc642015-09-11 12:59:40 -07008if (forceReleaseVersion) {
9 databindingProperties.version = databindingProperties.releaseVersion
10}
Yigit Boyar7d9836f2015-09-14 11:18:21 -070011databindingProperties.compileSdkVersion = Integer.parseInt(databindingProperties.compileSdkVersionStr)
Yigit Boyar24bec1c2015-07-09 10:51:54 -070012def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath
Chris Warringtonc38c0cf2015-10-30 16:26:59 -070013databindingProperties.androidGradlePluginRepoDir = "${root}/../../${databindingProperties.androidGradlePluginOutRepo}"
14databindingProperties.mavenRepoDir = "${databindingProperties.androidGradlePluginRepoDir}"
Yigit Boyar9784c9a2015-10-12 18:59:27 -070015databindingProperties.internalPrebuiltsRepoDir = "${root}/${databindingProperties.internalPrebuiltsRepoName}"
16databindingProperties.runProguard = project.hasProperty('runProguard') && project.getProperty('runProguard').equals("true")
17
18// load version from gradle build file
19apply from: "$root/../buildSrc/base/version.gradle"
20databindingProperties.androidPluginVersion=ext.buildVersion
Yigit Boyar24bec1c2015-07-09 10:51:54 -070021
22databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}"
23databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" +
24 "/${databindingProperties.releaseVersion}"
25
Yigit Boyar9784c9a2015-10-12 18:59:27 -070026ext.dataBindingConfig = databindingProperties
27ext.dataBindingConfig.externalPrebuiltsBase = "${root}/../../prebuilts"
Yigit Boyar24bec1c2015-07-09 10:51:54 -070028databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository"
29
Yigit Boyar9784c9a2015-10-12 18:59:27 -070030println "local maven repo is ${ext.dataBindingConfig.mavenRepoDir}."
31println "local pre-build folder is ${ext.dataBindingConfig.prebuildFolder}."
32println "mega-repo folder is ${ext.dataBindingConfig.megaRepoDir}."
Yigit Boyar24bec1c2015-07-09 10:51:54 -070033
Yigit Boyar9784c9a2015-10-12 18:59:27 -070034new File(ext.dataBindingConfig.mavenRepoDir).mkdir()
35new File(ext.dataBindingConfig.prebuildFolder).mkdir()
Yigit Boyar24bec1c2015-07-09 10:51:54 -070036
Yigit Boyar097f33c2015-07-15 13:49:39 -070037def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true")
Yigit Boyar9784c9a2015-10-12 18:59:27 -070038ext.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
Yigit Boyar24bec1c2015-07-09 10:51:54 -070052def addRepos(RepositoryHandler handler) {
Yigit Boyar9784c9a2015-10-12 18:59:27 -070053 dataBindingConfig.localRepositories.each { repo ->
Yigit Boyar24bec1c2015-07-09 10:51:54 -070054 handler.maven {
55 url repo
56 }
57 }
Yigit Boyar9784c9a2015-10-12 18:59:27 -070058 if (dataBindingConfig.addRemoteRepos) {
Yigit Boyar25731022015-09-11 14:53:54 -070059 handler.jcenter()
60 handler.mavenCentral()
61 }
Yigit Boyar24bec1c2015-07-09 10:51:54 -070062}
63ext.addRepos = this.&addRepos
64subprojects {
65 buildscript {
Yigit Boyar890b4852015-09-25 14:48:56 -070066 addRepos(repositories)
Yigit Boyar24bec1c2015-07-09 10:51:54 -070067 }
68 repositories {
Yigit Boyar890b4852015-09-25 14:48:56 -070069 addRepos(repositories)
Yigit Boyar24bec1c2015-07-09 10:51:54 -070070 }
71}
Yigit Boyard6ddc642015-09-11 12:59:40 -070072