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 }