apply plugin: 'android' sourceSets { testLocal { java.srcDir file('src/test/java') resources.srcDir file('src/test/resources') } } dependencies { compile 'com.android.support:support-v4:19.1.0' compile 'com.android.support:appcompat-v7:19.1.0' compile 'dnsjava:dnsjava:2.1.1' compile project(':extern:openpgp-api-lib') compile project(':extern:openkeychain-api-lib') compile project(':extern:html-textview') compile project(':extern:StickyListHeaders:library') compile project(':extern:AndroidBootstrap:AndroidBootstrap') compile project(':extern:zxing-qr-code') compile project(':extern:zxing-android-integration') compile project(':extern:spongycastle:core') compile project(':extern:spongycastle:pg') compile project(':extern:spongycastle:pkix') compile project(':extern:spongycastle:prov') compile project(':extern:AppMsg:library') // Dependencies for the `testLocal` task, make sure to list all your global dependencies here as well testLocalCompile 'junit:junit:4.11' testLocalCompile 'org.robolectric:robolectric:2.2' testLocalCompile 'com.google.android:android:4.1.1.4' testLocalCompile 'com.android.support:support-v4:19.1.0' testLocalCompile 'com.android.support:appcompat-v7:19.1.0' testLocalCompile project(':extern:openpgp-api-lib') testLocalCompile project(':extern:openkeychain-api-lib') testLocalCompile project(':extern:html-textview') testLocalCompile project(':extern:StickyListHeaders:library') testLocalCompile project(':extern:AndroidBootstrap:AndroidBootstrap') testLocalCompile project(':extern:zxing-qr-code') testLocalCompile project(':extern:zxing-android-integration') testLocalCompile project(':extern:spongycastle:core') testLocalCompile project(':extern:spongycastle:pg') testLocalCompile project(':extern:spongycastle:pkix') testLocalCompile project(':extern:spongycastle:prov') testLocalCompile project(':extern:AppMsg:library') } android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 9 targetSdkVersion 19 } /* * To sign release build, create file gradle.properties in ~/.gradle/ with this content: * * signingStoreLocation=/home/key.store * signingStorePassword=xxx * signingKeyAlias=alias * signingKeyPassword=xxx */ if (project.hasProperty('signingStoreLocation') && project.hasProperty('signingStorePassword') && project.hasProperty('signingKeyAlias') && project.hasProperty('signingKeyPassword')) { println "Found sign properties in gradle.properties! Signing build…" signingConfigs { release { storeFile file(signingStoreLocation) storePassword signingStorePassword keyAlias signingKeyAlias keyPassword signingKeyPassword } } buildTypes.release.signingConfig = signingConfigs.release } else { buildTypes.release.signingConfig = null } // NOTE: Lint is disabled because it slows down builds, // to enable it comment out the code at the bottom of this build.gradle lintOptions { // Do not abort build if lint finds errors abortOnError false checkAllWarnings true htmlReport true htmlOutput file("lint-report.html") } } task localTest(type: Test, dependsOn: assemble) { testClassesDir = sourceSets.testLocal.output.classesDir android.sourceSets.main.java.srcDirs.each { dir -> def buildDir = dir.getAbsolutePath().split("\\" + File.separator) buildDir = (buildDir[0..(buildDir.length - 4)] + ['build', 'classes', 'debug']).join("\\" + File.separator) sourceSets.testLocal.compileClasspath += files(buildDir) sourceSets.testLocal.runtimeClasspath += files(buildDir) } classpath = sourceSets.testLocal.runtimeClasspath } // NOTE: This disables Lint! tasks.whenTaskAdded { task -> if (task.name.equals("lint")) { task.enabled = false } } // NOTE: tests disabled! //check.dependsOn localTest