This repository was archived by the owner on Sep 20, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.common.gradle
More file actions
258 lines (242 loc) · 10.2 KB
/
build.common.gradle
File metadata and controls
258 lines (242 loc) · 10.2 KB
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
/**
* build.common.gradle
*
* Try to avoid editing this file, as it may be updated from time to time as the FTC SDK
* evolves. Rather, if it is necessary to customize the build process, do those edits in
* the build.gradle file in TeamCode.
*
* This file contains the necessary content of the 'build.gradle' files for robot controller
* applications built using the FTC SDK. Each individual 'build.gradle' in those applications
* can simply contain the one line:
*
* apply from: '../build.common.gradle'
*
* which will pick up this file here. This approach allows makes it easier to integrate
* updates to the FTC SDK into your code.
*/
import java.util.regex.Pattern
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
signingConfigs {
release {
def apkStoreFile = System.getenv("APK_SIGNING_STORE_FILE")
if (apkStoreFile != null) {
keyAlias System.getenv("APK_SIGNING_KEY_ALIAS")
keyPassword System.getenv("APK_SIGNING_KEY_PASSWORD")
storeFile file(System.getenv("APK_SIGNING_STORE_FILE"))
storePassword System.getenv("APK_SIGNING_STORE_PASSWORD")
} else {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile rootProject.file('libs/ftc.debug.keystore')
storePassword 'android'
}
}
debug {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile rootProject.file('libs/ftc.debug.keystore')
storePassword 'android'
}
}
aaptOptions {
noCompress "tflite"
}
defaultConfig {
signingConfig signingConfigs.debug
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 28
multiDexEnabled true
/**
* We keep the versionCode and versionName of robot controller applications in sync with
* the master information published in the AndroidManifest.xml file of the FtcRobotController
* module. This helps avoid confusion that might arise from having multiple versions of
* a robot controller app simultaneously installed on a robot controller device.
*
* We accomplish this with the help of a funky little Groovy script that maintains that
* correspondence automatically.
*
* @see <a href="http://developer.android.com/tools/building/configuring-gradle.html">Configure Your Build</a>
* @see <a href="http://developer.android.com/tools/publishing/versioning.html">Versioning Your App</a>
*/
def manifestFile = project(':FtcRobotController').file('src/main/AndroidManifest.xml');
def manifestText = manifestFile.getText()
//
def vCodePattern = Pattern.compile("versionCode=\"(\\d+(\\.\\d+)*)\"")
def matcher = vCodePattern.matcher(manifestText)
matcher.find()
def vCode = Integer.parseInt(matcher.group(1))
//
def vNamePattern = Pattern.compile("versionName=\"(.*)\"")
matcher = vNamePattern.matcher(manifestText);
matcher.find()
def vName = matcher.group(1)
//
versionCode vCode
versionName vName
}
// Advanced user code might just want to use Vuforia directly, so we set up the libs as needed
// http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html
buildTypes {
release {
signingConfig signingConfigs.release
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
debug {
debuggable true
jniDebuggable true
renderscriptDebuggable true
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
pickFirst '**/*.so'
}
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
jniLibs.srcDir rootProject.file('libs')
}
ndkVersion '21.3.6528147'
}
repositories {
mavenCentral()
flatDir {
dirs rootProject.file('libs')
}
}