diff options
Diffstat (limited to 'OpenKeychain/build.gradle')
-rw-r--r-- | OpenKeychain/build.gradle | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle new file mode 100644 index 000000000..3fcdf790b --- /dev/null +++ b/OpenKeychain/build.gradle @@ -0,0 +1,105 @@ +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.0.1' + compile 'com.android.support:appcompat-v7:19.0.1' + compile project(':OpenKeychain-API:libraries:openpgp-api-library') + compile project(':OpenKeychain-API:libraries:openkeychain-api-library') + compile project(':libraries:HtmlTextView') + compile project(':libraries:StickyListHeaders:library') + compile project(':libraries:AndroidBootstrap') + compile project(':libraries:zxing') + compile project(':libraries:zxing-android-integration') + compile project(':libraries:spongycastle:core') + compile project(':libraries:spongycastle:pg') + compile project(':libraries:spongycastle:pkix') + compile project(':libraries:spongycastle:prov') + compile project(':libraries:Android-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.1.+' + testLocalCompile 'com.google.android:android:4.1.1.4' + testLocalCompile 'com.android.support:support-v4:19.0.1' + testLocalCompile 'com.android.support:appcompat-v7:19.0.1' + testLocalCompile project(':OpenKeychain-API:libraries:openpgp-api-library') + testLocalCompile project(':OpenKeychain-API:libraries:openkeychain-api-library') + testLocalCompile project(':libraries:HtmlTextView') + testLocalCompile project(':libraries:StickyListHeaders:library') + testLocalCompile project(':libraries:AndroidBootstrap') + testLocalCompile project(':libraries:zxing') + testLocalCompile project(':libraries:zxing-android-integration') + testLocalCompile project(':libraries:spongycastle:core') + testLocalCompile project(':libraries:spongycastle:pg') + testLocalCompile project(':libraries:spongycastle:pkix') + testLocalCompile project(':libraries:spongycastle:prov') + testLocalCompile project(':libraries:Android-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 + } + + // Do not abort build if lint finds errors + lintOptions { + abortOnError false + 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('/') + buildDir = (buildDir[0..(buildDir.length - 4)] + ['build', 'classes', 'debug']).join('/') + + sourceSets.testLocal.compileClasspath += files(buildDir) + sourceSets.testLocal.runtimeClasspath += files(buildDir) + } + + classpath = sourceSets.testLocal.runtimeClasspath +} + +//check.dependsOn localTest |