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' apply from: '../config/jacoco.gradle' buildscript { repositories { jcenter() } dependencies { classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.0.1x' classpath 'com.android.tools.build:gradle:1.2.3' classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0' } } repositories { maven { url 'https://dl.bintray.com/connectbot/maven' } } dependencies { compile 'org.connectbot:sshlib:2.2.0' testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:1.10.19' testCompile 'org.assertj:assertj-core:1.7.0' testCompile('org.robolectric:robolectric:3.0') { exclude group: 'commons-logging', module: 'commons-logging' exclude group: 'org.apache.httpcomponents', module: 'httpclient' } } android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "org.connectbot" minSdkVersion 8 targetSdkVersion 22 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.1" compile "com.android.support:appcompat-v7:22.2.1" compile "com.android.support:design:22.2.1" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg' if (project.hasProperty('keystorePassword')) { signingConfig signingConfigs.release } } debug { applicationIdSuffix ".debug" testCoverageEnabled true } } } def getGitDescription = { -> try { def stdout = new ByteArrayOutputStream() exec { commandLine 'git', 'describe', '--tags', '--dirty' standardOutput = stdout } return stdout.toString().trim() } catch (ignored) { return null; } } // Insert the build number into strings.xml android.applicationVariants.all { variant -> variant.mergeResources.doLast{ ext.env = System.getenv() def buildNumber = getGitDescription() if (buildNumber != null) { File valuesFile = file("${buildDir}/intermediates/res/${variant.dirName}/values/values.xml") String content = valuesFile.getText('UTF-8') content = content.replaceAll(/\(working copy\)/, buildNumber) valuesFile.write(content, 'UTF-8') } } } 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 }