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
|
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.2.+"
}
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 = "${project.buildDir}/reports/jacoco/jacocoTestDebugReport/jacocoTestDebugReport.xml"
repositories {
maven {
url 'https://dl.bintray.com/connectbot/maven'
}
}
dependencies {
compile 'org.connectbot:sshlib:2.2.0'
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
}
|