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