-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
build.gradle.kts
103 lines (82 loc) · 3.21 KB
/
build.gradle.kts
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
// NOTE: this project uses Gradle Kotlin DSL. More common build.gradle instructions can be found in
// the main README.
plugins {
id("com.android.application")
}
android {
compileSdk = Config.SdkVersions.compile
defaultConfig {
minSdk = Config.SdkVersions.min
targetSdk = Config.SdkVersions.target
versionName = Config.version
versionCode = 1
resourcePrefix("fui_")
vectorDrawables.useSupportLibrary = true
}
defaultConfig {
multiDexEnabled = true
}
buildTypes {
named("release").configure {
// For the purposes of the sample, allow testing of a proguarded release build
// using the debug key
signingConfig = signingConfigs["debug"]
postprocessing {
isRemoveUnusedCode = true
isRemoveUnusedResources = true
isObfuscate = true
isOptimizeCode = true
}
}
}
lint {
// Common lint options across all modules
disable += mutableSetOf(
"IconExpectedSize",
"InvalidPackage", // Firestore uses GRPC which makes lint mad
"NewerVersionAvailable", "GradleDependency", // For reproducible builds
"SelectableText", "SyntheticAccessor", // We almost never care about this
"UnusedIds", "MediaCapabilities" // TODO(rosariopfernandes): remove this once we confirm
// it builds successfully
)
// Module-specific
disable += mutableSetOf("ResourceName", "MissingTranslation", "DuplicateStrings")
checkAllWarnings = true
warningsAsErrors = true
abortOnError = true
baseline = file("$rootDir/library/quality/lint-baseline.xml")
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation(Config.Libs.Androidx.materialDesign)
implementation(Config.Libs.Androidx.multidex)
implementation(project(":auth"))
implementation(project(":firestore"))
implementation(project(":database"))
implementation(project(":storage"))
implementation(Config.Libs.Provider.facebook)
// Needed to override Facebook
implementation(Config.Libs.Androidx.cardView)
implementation(Config.Libs.Androidx.customTabs)
implementation(Config.Libs.Misc.glide)
annotationProcessor(Config.Libs.Misc.glideCompiler)
// Used for FirestorePagingActivity
implementation(Config.Libs.Androidx.paging)
// The following dependencies are not required to use the Firebase UI library.
// They are used to make some aspects of the demo app implementation simpler for
// demonstrative purposes, and you may find them useful in your own apps; YMMV.
implementation(Config.Libs.Misc.permissions)
implementation(Config.Libs.Androidx.constraint)
debugImplementation(Config.Libs.Misc.leakCanary)
debugImplementation(Config.Libs.Misc.leakCanaryFragments)
releaseImplementation(Config.Libs.Misc.leakCanaryNoop)
testImplementation(Config.Libs.Misc.leakCanaryNoop)
}
apply(plugin = "com.google.gms.google-services")