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