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 | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 4 | def root = ext.dataBindingRootFolder |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 5 | Properties databindingProperties = new Properties() |
| 6 | databindingProperties.load(new FileInputStream("${root}/databinding.properties")) |
Yigit Boyar | 8b8eb28 | 2016-01-22 09:44:59 -0800 | [diff] [blame] | 7 | |
| 8 | // load android gradle plugin's version file |
| 9 | apply from: "${root}/../buildSrc/base/version.gradle" |
| 10 | |
| 11 | databindingProperties.version = ext.buildVersion |
Yigit Boyar | 7d9836f | 2015-09-14 11:18:21 -0700 | [diff] [blame] | 12 | databindingProperties.compileSdkVersion = Integer.parseInt(databindingProperties.compileSdkVersionStr) |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 13 | def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath |
Chris Warrington | c38c0cf | 2015-10-30 16:26:59 -0700 | [diff] [blame] | 14 | databindingProperties.androidGradlePluginRepoDir = "${root}/../../${databindingProperties.androidGradlePluginOutRepo}" |
| 15 | databindingProperties.mavenRepoDir = "${databindingProperties.androidGradlePluginRepoDir}" |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 16 | databindingProperties.internalPrebuiltsRepoDir = "${root}/${databindingProperties.internalPrebuiltsRepoName}" |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 17 | |
Yigit Boyar | 04ea158 | 2016-03-28 15:58:45 -0700 | [diff] [blame] | 18 | databindingProperties.inReleaseBuild = project.hasProperty('release') && project.ext.release == "true" |
| 19 | |
| 20 | databindingProperties.runProguard = (project.hasProperty('runProguard') && project.getProperty('runProguard').equals("true")) |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 21 | // load version from gradle build file |
| 22 | apply from: "$root/../buildSrc/base/version.gradle" |
| 23 | databindingProperties.androidPluginVersion=ext.buildVersion |
Yigit Boyar | d437f7e | 2015-10-30 16:28:34 -0700 | [diff] [blame] | 24 | databindingProperties.isIndependent = rootProject.name.equals("data-binding") |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 25 | databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}" |
| 26 | databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" + |
| 27 | "/${databindingProperties.releaseVersion}" |
| 28 | |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 29 | ext.dataBindingConfig = databindingProperties |
| 30 | ext.dataBindingConfig.externalPrebuiltsBase = "${root}/../../prebuilts" |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 31 | databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository" |
| 32 | |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 33 | new File(ext.dataBindingConfig.mavenRepoDir).mkdir() |
| 34 | new File(ext.dataBindingConfig.prebuildFolder).mkdir() |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 35 | |
Yigit Boyar | 097f33c | 2015-07-15 13:49:39 -0700 | [diff] [blame] | 36 | def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true") |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 37 | ext.dataBindingConfig.addRemoteRepos = addRemoteRepos |
| 38 | ext.dataBindingConfig.sharedSupportRepoDir = "${ext.dataBindingConfig.externalPrebuiltsBase}/maven_repo/android" |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 39 | ext.dataBindingConfig.forGradlePlugin = project.hasProperty('forGradlePlugin') && project.getProperty('forGradlePlugin').equals("true") |
| 40 | def dataBindingConfig = ext.dataBindingConfig |
| 41 | def localRepositories = ["${dataBindingConfig.internalPrebuiltsRepoDir}", |
| 42 | "${dataBindingConfig.megaRepoDir}", |
| 43 | "${dataBindingConfig.mavenRepoDir}", |
| 44 | "${dataBindingConfig.externalPrebuiltsBase}/tools/common/offline-m2", |
| 45 | dataBindingConfig.sharedSupportRepoDir, |
| 46 | "${dataBindingConfig.externalPrebuiltsBase}/gradle-plugin", |
| 47 | "${dataBindingConfig.externalPrebuiltsBase}/tools/common/m2/repository", |
| 48 | "${databindingProperties.androidGradlePluginRepoDir}"] |
| 49 | ext.dataBindingConfig.localRepositories = localRepositories |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 50 | def addRepos(RepositoryHandler handler) { |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 51 | dataBindingConfig.localRepositories.each { repo -> |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 52 | handler.maven { |
| 53 | url repo |
| 54 | } |
| 55 | } |
Yigit Boyar | 9784c9a | 2015-10-12 18:59:27 -0700 | [diff] [blame] | 56 | if (dataBindingConfig.addRemoteRepos) { |
Yigit Boyar | 2573102 | 2015-09-11 14:53:54 -0700 | [diff] [blame] | 57 | handler.jcenter() |
| 58 | handler.mavenCentral() |
| 59 | } |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 60 | } |
| 61 | ext.addRepos = this.&addRepos |
| 62 | subprojects { |
| 63 | buildscript { |
Yigit Boyar | 890b485 | 2015-09-25 14:48:56 -0700 | [diff] [blame] | 64 | addRepos(repositories) |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 65 | } |
| 66 | repositories { |
Yigit Boyar | 890b485 | 2015-09-25 14:48:56 -0700 | [diff] [blame] | 67 | addRepos(repositories) |
Yigit Boyar | 24bec1c | 2015-07-09 10:51:54 -0700 | [diff] [blame] | 68 | } |
| 69 | } |
Yigit Boyar | d6ddc64 | 2015-09-11 12:59:40 -0700 | [diff] [blame] | 70 | |
Yigit Boyar | d437f7e | 2015-10-30 16:28:34 -0700 | [diff] [blame] | 71 | def enablePublishing(p, addJavadoc) { |
| 72 | if (!ext.dataBindingConfig.isIndependent) { |
| 73 | p.apply from: "$dataBindingRootFolder/../buildSrc/base/publish.gradle" |
| 74 | p.apply from: "$dataBindingRootFolder/../buildSrc/base/bintray.gradle" |
| 75 | if (addJavadoc) { |
| 76 | p.apply from: "$dataBindingRootFolder/../buildSrc/base/javadoc.gradle" |
| 77 | } |
Yigit Boyar | fccc888 | 2015-11-05 22:07:52 -0800 | [diff] [blame] | 78 | rootProject.project(":base:gradle-core").publishLocal.dependsOn p.publishLocal |
Yigit Boyar | d437f7e | 2015-10-30 16:28:34 -0700 | [diff] [blame] | 79 | } |
| 80 | } |
| 81 | ext.enablePublishing = this.&enablePublishing |