propLoader.gradle revision 9e7a4ce47ae5f4428f7630fe03a7ad66d06177fb
1/**
2 * Helper build script that reads data binding variables and sets up the projects.
3 */
4def root = ext.rootFolder
5Properties databindingProperties = new Properties()
6databindingProperties.load(new FileInputStream("${root}/databinding.properties"))
7def repoBase = databindingProperties.mavenRepoAbsolutePath == "." ? root : databindingProperties.mavenRepoAbsolutePath
8databindingProperties.mavenRepoDir = "${repoBase}/${databindingProperties.mavenRepoName}"
9databindingProperties.extraPluginsRepoDir = "${root}/${databindingProperties.extraPluginsRepoName}"
10
11databindingProperties.eapOutDir = "${root}/${databindingProperties.eapOutFolderName}"
12databindingProperties.prebuildFolder = "${root}/${databindingProperties.prebuildFolderName}" +
13        "/${databindingProperties.releaseVersion}"
14
15ext.config = databindingProperties
16ext.config.externalPrebuiltsBase = "${root}/../../prebuilts"
17databindingProperties.megaRepoDir = "${databindingProperties.externalPrebuiltsBase}/tools/common/m2/repository"
18
19println "local maven repo is ${ext.config.mavenRepoDir}."
20println "local pre-build folder is ${ext.config.prebuildFolder}."
21println "mega-repo folder is ${ext.config.megaRepoDir}."
22
23new File(ext.config.mavenRepoDir).mkdir()
24new File(ext.config.prebuildFolder).mkdir()
25
26def addRemoteRepos = project.hasProperty('addRemoteRepos') && project.getProperty('addRemoteRepos').equals("true")
27ext.config.addRemoteRepos = addRemoteRepos
28def config = ext.config
29def localRepositories = ["${config.extraPluginsRepoDir}",
30                         "${config.megaRepoDir}",
31                         "${config.mavenRepoDir}",
32                         "${config.externalPrebuiltsBase}/tools/common/offline-m2",
33                         "${config.externalPrebuiltsBase}/maven_repo/android",
34                         "${config.externalPrebuiltsBase}/gradle-plugin",
35                         "${config.externalPrebuiltsBase}/tools/common/m2/repository"]
36ext.config.localRepositories = localRepositories
37def addRepos(RepositoryHandler handler) {
38    config.localRepositories.each { repo ->
39        handler.maven {
40            url repo
41        }
42    }
43    handler.jcenter()
44    handler.mavenCentral()
45}
46ext.addRepos = this.&addRepos
47subprojects {
48    buildscript {
49        config.localRepositories.each { repo ->
50            repositories.maven {
51                url repo
52            }
53        }
54        repositories {
55            if (config.addRemoteRepos) {
56                jcenter()
57                mavenCentral()
58            }
59        }
60    }
61    repositories {
62        config.localRepositories.each { repo ->
63            repositories.maven {
64                url repo
65            }
66        }
67        if (config.addRemoteRepos) {
68            jcenter()
69            mavenCentral()
70        }
71    }
72}
73