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
|
apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.application'
apply plugin: 'com.github.kt3k.coveralls'
apply from: '../config/quality.gradle'
apply from: '../config/translations.gradle'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.0.1x'
}
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "org.connectbot"
minSdkVersion 4
targetSdkVersion 22
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_5
targetCompatibility JavaVersion.VERSION_1_5
}
ndk {
moduleName "com_google_ase_Exec"
ldLibs "log"
}
lintOptions {
abortOnError false
lintConfig file('lint.xml')
}
testApplicationId "org.connectbot.tests"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
signingConfigs {
release
}
dependencies {
compile "com.android.support:support-v4:22.0.+"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
if (project.hasProperty('keystorePassword')) {
signingConfig signingConfigs.release
}
}
debug {
applicationIdSuffix ".debug"
testCoverageEnabled true
}
}
}
apply plugin: 'jacoco'
// By default, Android Gradle plugin uses JaCoCo version 0.7.1, which works great in JUnit on the JVM.
// But that will fail on Android Lollipop/ART runtime, which requires 0.7.3 or higher.
if (rootProject.hasProperty('jacocoVersion')) {
android.jacoco.version = rootProject.property('jacocoVersion')
jacoco.toolVersion = rootProject.property('jacocoVersion')
} else {
println "Using the default JaCoCo version of: ${jacoco.toolVersion}"
}
// The built-in jacoco plugin automatically applies itself to all Test tasks
tasks.withType(Test).whenTaskAdded {
it.jacoco.append = false
it.jacoco.classDumpFile = file("${project.buildDir}/jacoco/dump")
}
// These tasks are for generating the coverage report after JUnit+robolectric tests have executed
tasks.create(name: "jacocoTestDebugReport", type: JacocoReport, dependsOn: "testDebug") {
group = "Reporting"
description = "Generate Jacoco coverage reports"
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/classes/debug/",
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
sourceDirectories = files("src/main/java", "src/debug/java")
executionData = files("${project.buildDir}/jacoco/testDebug.exec")
reports {
xml.enabled = true
html.enabled = true
}
}
coveralls.jacocoReportPath = 'app/build/reports/jacoco/jacocoTestDebugReport/jacocoTestDebugReport.xml'
dependencies {
testCompile 'junit:junit:4.12'
testCompile('org.robolectric:robolectric:3.0') {
exclude group: 'commons-logging', module: 'commons-logging'
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
}
if (project.hasProperty('keystorePassword')) {
android.signingConfigs.release.storeFile file(keystoreFile)
android.signingConfigs.release.storePassword keystorePassword
android.signingConfigs.release.keyAlias keystoreAlias
android.signingConfigs.release.keyPassword keystorePassword
}
|