-
Notifications
You must be signed in to change notification settings - Fork 112
/
build-extras-intercom.gradle
32 lines (28 loc) · 1.22 KB
/
build-extras-intercom.gradle
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
// Uses the app id as a prefix (instead of com.google.android). This prevents
// INSTALL_FAILED_CONFLICTING_PROVIDER error when installing the app.
//
// @link https://issues.apache.org/jira/browse/CB-10014
def manifest = new XmlSlurper().parse(file("AndroidManifest.xml"))
android.defaultConfig.applicationId manifest.@package.text()
// some libraries depend on higher versions of our dependencies than we support
// we keep track of these dependencies here and override the version to a safe one
def safeVersions = [
"com.android.support:support-v4": "26.+"
]
def badVersionIndicators = [
'alpha',
'beta',
'preview',
',)'
]
configurations.all {
resolutionStrategy.eachDependency {
DependencyResolveDetails details ->
def safeVersion = safeVersions[details.requested.group + ":" + details.requested.name]
def requestedVersion = details.requested.version
if (safeVersion != null && badVersionIndicators.any { requestedVersion.contains(it) }) {
println "Intercom: Overriding dependency ${details.requested.group}:${details.requested.name} version ${details.requested.version} --> $safeVersion"
details.useVersion safeVersion
}
}
}