forked from ftctechnh/ftc_app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.common.gradle
85 lines (74 loc) · 2.85 KB
/
build.common.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
//
// build.common.gradle
//
// This contains the content of the 'build.gradle' files for all YourCodeHere applications
// built using the Swerve Library. Each individual 'build.gradle' in those applications can
// simply contain the one line:
//
// apply from: '../build.common.gradle'
//
// That will pick up this file here. This approach allows the maintenance of individual
// build.gradle files to be carried out automatically on behalf of individual YourCodeHere
// applications.
import java.util.regex.Pattern
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "22.0.1"
signingConfigs {
debug {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile file('../FtcRobotController/libs/ftc.debug.keystore')
storePassword 'android'
}
}
defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 16
targetSdkVersion 19
// Note: this versionCode must be kept in sync with the
// android:versionCode="nn"
// attribute that is found in the AndroidManifest.xml file of the FtcRobotController
// module from FTC HQ. If this is not done, the robot controller may potentially have
// multiple versions of the app simultaneously installed, which can lead to confusion.
//
// Here, we have a funky little Groovy script to maintain that correspondence automatically
// See also: http://developer.android.com/tools/building/configuring-gradle.html
def manifestFile = file('../FtcRobotController/src/main/AndroidManifest.xml');
def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
def manifestText = manifestFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
def code = Integer.parseInt(matcher.group(1))
versionCode code // http://developer.android.com/tools/publishing/versioning.html
versionName '@string/version_name' // http://developer.android.com/tools/publishing/versioning.html
}
buildTypes {
release {
debuggable true
}
debug {
debuggable true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
repositories {
flatDir {
dirs '../FtcRobotController/libs'
}
}
dependencies {
compile (name:'RobotCore-release', ext:'aar')
compile (name:'Hardware-release', ext:'aar')
compile (name:'FtcCommon-release', ext:'aar')
compile (name:'ModernRobotics-release', ext:'aar')
compile (name:'Analytics-release', ext:'aar')
compile (name:'WirelessP2p-release', ext:'aar')
compile project(':SwerveRoboticsLibrary')
compile project(':FtcRobotController')
}