buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' repositories { maven { url 'https://maven.fabric.io/public' } } def generateGitBuild = { -> StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append('"') try { def stdout = new ByteArrayOutputStream() exec { commandLine 'git', 'describe', '--always' standardOutput = stdout } String commitObject = stdout.toString().trim() stringBuilder.append(commitObject) } catch (ignored) { stringBuilder.append('NoGitSystemAvailable') } stringBuilder.append('-') stringBuilder.append((new Date()).format('yyyy.MM.dd')) stringBuilder.append('"') return stringBuilder.toString() } android { compileSdkVersion 23 buildToolsVersion "25.0.2" defaultConfig { applicationId "info.nightscout.androidaps" minSdkVersion 21 targetSdkVersion 23 versionCode 1100 version "1.33" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", generateGitBuild() } lintOptions { disable 'MissingTranslation' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { flavorDimensions "standard", "wear" full { dimension "standard" resValue "string", "app_name", "AndroidAPS" versionName version manifestPlaceholders = [ appIcon: "@mipmap/blueowl" ] buildConfigField "boolean", "APS", "true" buildConfigField "boolean", "PUMPDRIVERS", "true" buildConfigField "boolean", "NSCLIENTOLNY", "false" buildConfigField "boolean", "CLOSEDLOOP", "true" } openloop { dimension "standard" resValue "string", "app_name", "AndroidAPS" versionName version manifestPlaceholders = [ appIcon: "@mipmap/blueowl" ] buildConfigField "boolean", "APS", "true" buildConfigField "boolean", "PUMPDRIVERS", "true" buildConfigField "boolean", "NSCLIENTOLNY", "false" buildConfigField "boolean", "CLOSEDLOOP", "false" } pumpcontrol { dimension "standard" resValue "string", "app_name", "AndroidAPS" versionName version manifestPlaceholders = [ appIcon: "@mipmap/blueowl" ] buildConfigField "boolean", "APS", "false" buildConfigField "boolean", "PUMPDRIVERS", "true" buildConfigField "boolean", "NSCLIENTOLNY", "false" buildConfigField "boolean", "CLOSEDLOOP", "false" } nsclient { dimension "standard" resValue "string", "app_name", "NSClient" versionName version + "-nsclient" manifestPlaceholders = [ appIcon: "@mipmap/yellowowl" ] buildConfigField "boolean", "APS", "false" buildConfigField "boolean", "PUMPDRIVERS", "false" buildConfigField "boolean", "NSCLIENTOLNY", "true" buildConfigField "boolean", "CLOSEDLOOP", "false" } wear { dimension "wear" buildConfigField "boolean", "WEAR", "true" buildConfigField "boolean", "WEAR_CONTROL", "false" } wearcontrol { dimension "wear" buildConfigField "boolean", "WEAR", "true" buildConfigField "boolean", "WEAR_CONTROL", "true" } nowear { dimension "wear" buildConfigField "boolean", "WEAR", "false" buildConfigField "boolean", "WEAR_CONTROL", "false" } } } allprojects { repositories { jcenter() flatDir { dirs 'libs' } } } dependencies { wearWearApp project(path: ':wear', configuration: 'restrictedRelease') wearcontrolWearApp project(path: ':wear', configuration: 'fullRelease') compile fileTree(include: ['*.jar'], dir: 'libs') compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') { transitive = true; } compile('com.crashlytics.sdk.android:answers:1.3.12@aar') { transitive = true; } compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v4:23.4.0' compile 'com.android.support:cardview-v7:23.4.0' compile 'com.android.support:recyclerview-v7:23.4.0' compile 'com.android.support:gridlayout-v7:23.4.0' compile "com.android.support:design:23.4.0" compile "com.android.support:percent:23.4.0" compile 'com.wdullaer:materialdatetimepicker:2.3.0' compile 'com.squareup:otto:1.3.7' compile 'com.j256.ormlite:ormlite-core:4.46' compile 'com.j256.ormlite:ormlite-android:4.46' compile('com.github.tony19:logback-android-classic:1.1.1-6') { exclude group: 'com.google.android', module: 'android' } compile 'org.slf4j:slf4j-api:1.7.12' compile 'com.jjoe64:graphview:4.0.1' compile 'com.eclipsesource.j2v8:j2v8:3.1.6@aar' compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1' compile 'com.google.android.gms:play-services-wearable:7.5.0' compile 'junit:junit:4.12' testCompile 'org.json:json:20140107' testCompile 'org.mockito:mockito-core:2.+' androidTestCompile 'org.mockito:mockito-core:2.+' androidTestCompile 'com.google.dexmaker:dexmaker:1.2' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' compile(name: 'android-edittext-validator-v1.3.4-mod', ext: 'aar') compile('io.socket:socket.io-client:0.8.3') { // excluding org.json which is provided by Android exclude group: 'org.json', module: 'json' } compile 'com.google.code.gson:gson:2.4' compile 'com.google.guava:guava:18.0' compile ('com.jakewharton:butterknife:8.5.1') { exclude module: 'support-compat' } annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' }