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