-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
127 lines (117 loc) · 3.84 KB
/
build.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
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
minSdkVersion = 21
targetSdkVersion = 30
compileSdkVersion = 30
dbFlowVersion = '4.2.4'
buildToolsVersion = '30.0.5'
supportLibVersion = '29.0.0'
kotlinVersion = '1.4.21'
gradlePluginVersion = '4.1.2'
gradleDownloadTaskVersion = '3.4.3'
repositoryUrl = "file:${System.env.HOME}/.m2/repository/"
}
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/android/android-tools/' }
}
dependencies {
classpath "com.android.tools.build:gradle:${gradlePluginVersion}"
classpath 'com.google.gms:google-services:4.3.5'
classpath "de.undercouch:gradle-download-task:$gradleDownloadTaskVersion"
// https://github.com/awslabs/aws-device-farm-gradle-plugin/releases
classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}
plugins {
id "com.diffplug.spotless" version "5.12.1"
}
allprojects {
repositories {
// For non-detach
maven {
url "$rootDir/maven"
}
// For old expoviews to work
maven {
url "$rootDir/versioned-abis/expoview-abi41_0_0/maven"
}
maven {
url "$rootDir/versioned-abis/expoview-abi40_0_0/maven"
}
maven {
url "$rootDir/versioned-abis/expoview-abi39_0_0/maven"
}
maven {
url "$rootDir/versioned-abis/maven"
}
google()
jcenter()
maven {
// Local Maven repo containing AARs with JSC built for Android
url "$rootDir/../node_modules/jsc-android/dist"
}
maven {
// Local expo-camera Maven repo containing our slightly modified
// Google's cameraview from expo/cameraview.
url "$rootDir/../packages/expo-camera/android/maven"
}
flatDir {
dirs 'libs'
// dirs project(':expoview').file('libs')
}
// https://github.com/google/ExoPlayer/issues/5225#issuecomment-445739013
maven { url 'https://google.bintray.com/exoplayer' }
// Using www.jitpack.io instead of plain jitpack.io due to
// https://github.com/jitpack/jitpack.io/issues/4002
maven { url "https://www.jitpack.io" }
// Want this last so that we never end up with a stale cache
mavenLocal()
}
configurations.all {
// WHEN_DISTRIBUTING_REMOVE_FROM_HERE
resolutionStrategy.dependencySubstitution {
substitute module("com.facebook.react:react-native:+") with project(":ReactAndroid")
// Gradle needs another hint (apart from plain dependency substitution)
// to know that it should first evaluate the replacing project before resolving
// classpaths etc. Without this block an error is thrown when running tests
// in a project that depends on react-native (eg. expo-updates):
// > No matching configuration of project :ReactAndroid was found.
// > The consumer was configured to find a runtime of a component,
// > as well as attribute 'com.android.build.api.attributes.BuildTypeAttr'
// > with value 'debug' but:
// > - None of the consumable configurations have attributes.
all {
if (requested.displayName == "com.facebook.react:react-native:+") {
evaluationDependsOn(":ReactAndroid")
}
}
}
// WHEN_DISTRIBUTING_REMOVE_TO_HERE
}
}
subprojects {
plugins.apply("com.diffplug.spotless")
spotless {
format 'gradle', {
target '*.gradle'
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
kotlin {
target '**/*.kt'
ktlint().userData([
"disabled_rules" : "no-wildcard-imports,import-ordering",
"indent_size" : "2",
"continuation_indent_size": "4"
])
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
}
}