-
Notifications
You must be signed in to change notification settings - Fork 238
/
build.gradle
132 lines (110 loc) · 3.51 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
128
129
130
131
132
plugins {
alias libs.plugins.android.application
alias libs.plugins.androidx.safeargs
alias libs.plugins.kotlin.android
}
android {
compileSdk rootProject.compileSdkVersion
defaultConfig {
applicationId "com.braintreepayments.demo"
minSdkVersion 23
targetSdkVersion rootProject.targetSdkVersion
versionCode rootProject.versionCode
versionName rootProject.versionName
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
multiDexEnabled true
}
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
}
lintOptions {
disable 'IconMissingDensityFolder'
warning 'InvalidPackage'
warning 'GradleCompatible'
textReport true
textOutput 'stdout'
}
packagingOptions {
exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
}
buildFeatures {
dataBinding = true
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.3"
}
compileOptions {
sourceCompatibility versions.javaSourceCompatibility
targetCompatibility versions.javaTargetCompatibility
}
namespace 'com.braintreepayments.demo'
}
dependencies {
implementation libs.kotlin.stdlib
implementation(libs.retrofit)
implementation(libs.retrofit.gson)
implementation project(':AmericanExpress')
implementation project(':Card')
implementation project(':GooglePay')
implementation project(':LocalPayment')
implementation project(':PayPal')
implementation project(':DataCollector')
implementation project(':PayPalMessaging')
implementation project(':ShopperInsights')
implementation project(':SEPADirectDebit')
implementation project(':ThreeDSecure')
implementation project(':Venmo')
implementation project(':VisaCheckout')
implementation libs.gson
implementation libs.eventbus
implementation libs.androidx.appcompat
implementation libs.androidx.preference
implementation libs.material
implementation libs.androidx.cardview
implementation libs.androidx.fragment
implementation libs.androidx.navigation.fragment
implementation libs.androidx.navigation.ui
implementation libs.androidx.legacy.support.v4
implementation libs.androidx.lifecycle.extensions
implementation libs.androidx.lifecycle.viewmodel.ktx
implementation libs.bt.card.form
def composeBom = platform(libs.androidx.compose.bom)
implementation composeBom
implementation libs.androidx.material3
debugImplementation libs.leakcanary
androidTestImplementation libs.device.automator
androidTestImplementation project(':TestUtils')
testImplementation libs.junit
}
task demoApkSize {
group 'Braintree'
description 'Prints the current size of the Demo apk'
def apkDir = fileTree('./build/outputs/apk')
def apks = apkDir.matching {
include '*.apk'
exclude '*unaligned*'
}
apks.visit { apk ->
def apkName = apk.getName()
def mb = apk.getSize() / 1024 / 1000
mb = mb.setScale(2, BigDecimal.ROUND_UP)
println "Size of ${apkName} is ${mb} MB"
}
}
project.tasks.findAll {
if (it.name.startsWith('assemble')) {
it.finalizedBy demoApkSize
}
}