summaryrefslogtreecommitdiff
path: root/propLoader.gradle
blob: ff1b93e95d63e1758d3f78cd2f1f477fa79a7526 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
boolean getBooleanValue(String environmentVariable, String projectProperty, boolean defaultValue) {
    String env = System.getenv(environmentVariable)
    if (env != null) {
        return !env.isEmpty();
    }
    return getBooleanValue(project, projectProperty, defaultValue);
}

boolean getBooleanValue(Project proj, String propertyName, boolean defaultValue) {
    if (proj.hasProperty(propertyName)) {
        String prop = (String) project.properties[propertyName]
        if (prop != null) {
            return Boolean.valueOf(prop);
        }
    } else {
        return defaultValue;
    }
}

/**
 * Helper build script that reads data binding variables and sets up the projects.
 */
def root = ext.dataBindingRootFolder
Properties databindingProperties = new Properties()
databindingProperties.load(new FileInputStream("${root}/databinding.properties"))

// load android gradle plugin's version file
apply from: "${root}/../buildSrc/base/version.gradle"
databindingProperties.version = ext.buildVersion
databindingProperties.androidPluginVersion=ext.buildVersion
databindingProperties.isIndependent = rootProject.name.equals("data-binding")
databindingProperties.compileSdkVersion = databindingProperties.compileSdkVersionStr.trim()

ext.dataBindingConfig = databindingProperties
databindingProperties.artifactOutFolder = "${root}/../../out/repo"
def addRemoteRepos = getBooleanValue(project, "addRemoteRepos", false)
ext.dataBindingConfig.addRemoteRepos = addRemoteRepos
def dataBindingConfig = ext.dataBindingConfig

def localRepositories = ["${root}/../../prebuilts/tools/common/offline-m2",
                         "${root}/../../prebuilts/gradle-plugin",
                         "${root}/../../prebuilts/tools/common/m2/repository",
                         "${root}/../../prebuilts/maven_repo/android",
                         databindingProperties.artifactOutFolder]
ext.dataBindingConfig.localRepositories = localRepositories
def addRepos(RepositoryHandler handler) {
    dataBindingConfig.localRepositories.each { repo ->
        handler.maven {
            url repo
        }
    }
    if (dataBindingConfig.addRemoteRepos) {
        handler.jcenter()
        handler.mavenCentral()
    }
}
ext.addRepos = this.&addRepos
subprojects {
    buildscript {
        addRepos(repositories)
    }
    repositories {
        addRepos(repositories)
    }
}

def enablePublishing(p, addJavadoc) {
    if (!dataBindingConfig.isIndependent) {
        p.apply from: "$dataBindingRootFolder/../buildSrc/base/publish.gradle"
        p.apply from: "$dataBindingRootFolder/../buildSrc/base/bintray.gradle"
        if (addJavadoc) {
            p.apply from: "$dataBindingRootFolder/../buildSrc/base/javadoc.gradle"
        }
    }
}
ext.enablePublishing = this.&enablePublishing