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