220bd20f1f
- DetailedBolusInfo.add is used when Bolus delivered - fixed some logging problems with Gson for core objects - when bolus is given, date is changed to when it was actually delivered (in case contacting pump takes longer than exprected)
347 lines
11 KiB
Groovy
347 lines
11 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url 'https://maven.fabric.io/public' }
|
|
jcenter()
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'io.fabric.tools:gradle:1.+'
|
|
classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
|
|
classpath 'de.undercouch:gradle-download-task:3.4.3'
|
|
}
|
|
}
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'com.google.gms.google-services'
|
|
apply plugin: 'io.fabric'
|
|
apply plugin: 'jacoco-android'
|
|
apply plugin: 'de.undercouch.download'
|
|
|
|
|
|
jacoco {
|
|
toolVersion = "0.8.3"
|
|
}
|
|
|
|
ext {
|
|
supportLibraryVersion = "28.0.0"
|
|
ormLiteVersion = "4.46"
|
|
powermockVersion = "1.7.3"
|
|
dexmakerVersion = "1.2"
|
|
}
|
|
|
|
|
|
repositories {
|
|
maven { url 'https://maven.fabric.io/public' }
|
|
jcenter { url "https://jcenter.bintray.com/" }
|
|
mavenCentral()
|
|
}
|
|
|
|
def generateGitBuild = { ->
|
|
StringBuilder stringBuilder = new StringBuilder()
|
|
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')
|
|
}
|
|
return stringBuilder.toString()
|
|
}
|
|
|
|
def generateGitRemote = { ->
|
|
StringBuilder stringBuilder = new StringBuilder()
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'remote', 'get-url', 'origin'
|
|
standardOutput = stdout
|
|
}
|
|
String commitObject = stdout.toString().trim()
|
|
stringBuilder.append(commitObject)
|
|
} catch (ignored) {
|
|
stringBuilder.append('NoGitSystemAvailable')
|
|
}
|
|
return stringBuilder.toString()
|
|
}
|
|
|
|
def generateDate = { ->
|
|
StringBuilder stringBuilder = new StringBuilder()
|
|
stringBuilder.append((new Date()).format('yyyy.MM.dd-HH:mm'))
|
|
return stringBuilder.toString()
|
|
}
|
|
|
|
def isMaster = { ->
|
|
return !version.contains('-')
|
|
}
|
|
|
|
def allCommited = { ->
|
|
StringBuilder stringBuilder = new StringBuilder()
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'status', '-s'
|
|
standardOutput = stdout
|
|
}
|
|
String commitObject = stdout.toString().trim()
|
|
stringBuilder.append(commitObject)
|
|
} catch (ignored) {
|
|
return false // NoGitSystemAvailable
|
|
}
|
|
return stringBuilder.toString().isEmpty()
|
|
|
|
}
|
|
|
|
tasks.matching { it instanceof Test }.all {
|
|
testLogging.events = ["failed", "skipped", "started"]
|
|
testLogging.exceptionFormat = "full"
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 28
|
|
|
|
defaultConfig {
|
|
minSdkVersion 23
|
|
targetSdkVersion 28
|
|
multiDexEnabled true
|
|
versionCode 1500
|
|
version "medtronic-2.5.1.1"
|
|
buildConfigField "String", "VERSION", '"' + version + '"'
|
|
buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"'
|
|
buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"'
|
|
buildConfigField "String", "HEAD", '"' + generateGitBuild() + '"'
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
// if you change minSdkVersion to less than 11, you need to change executeTask for wear
|
|
|
|
ndk {
|
|
moduleName "BleCommandUtil"
|
|
}
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '1.8'
|
|
}
|
|
lintOptions {
|
|
// TODO remove once wear dependency com.google.android.gms:play-services-wearable:7.3.0
|
|
// has been upgraded (requiring significant code changes), which currently fails release
|
|
// build with a deprecation warning
|
|
// abortOnError false
|
|
// (disabled entirely to avoid reports on the error, which would still be displayed
|
|
// and it's easy to overlook that it's ignored)
|
|
checkReleaseBuilds false
|
|
disable 'MissingTranslation'
|
|
disable 'ExtraTranslation'
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
debug {
|
|
testCoverageEnabled(project.hasProperty('coverage'))
|
|
}
|
|
firebaseDisable {
|
|
System.setProperty("disableFirebase", "true")
|
|
}
|
|
}
|
|
productFlavors {
|
|
flavorDimensions "standard"
|
|
full {
|
|
applicationId "info.nightscout.androidaps"
|
|
dimension "standard"
|
|
resValue "string", "app_name", "AndroidAPS"
|
|
versionName version
|
|
manifestPlaceholders = [
|
|
appIcon : "@mipmap/ic_launcher",
|
|
appIconRound: "@mipmap/ic_launcher_round"
|
|
]
|
|
}
|
|
pumpcontrol {
|
|
applicationId "info.nightscout.aapspumpcontrol"
|
|
dimension "standard"
|
|
resValue "string", "app_name", "Pumpcontrol"
|
|
versionName version + "-pumpcontrol"
|
|
manifestPlaceholders = [
|
|
appIcon : "@mipmap/ic_pumpcontrol",
|
|
appIconRound: "@null"
|
|
]
|
|
}
|
|
nsclient {
|
|
applicationId "info.nightscout.nsclient"
|
|
dimension "standard"
|
|
resValue "string", "app_name", "NSClient"
|
|
versionName version + "-nsclient"
|
|
manifestPlaceholders = [
|
|
appIcon : "@mipmap/ic_yellowowl",
|
|
appIconRound: "@null"
|
|
]
|
|
}
|
|
nsclient2 {
|
|
applicationId "info.nightscout.nsclient2"
|
|
dimension "standard"
|
|
resValue "string", "app_name", "NSClient2"
|
|
versionName version + "-nsclient"
|
|
manifestPlaceholders = [
|
|
appIcon : "@mipmap/ic_yellowowl",
|
|
appIconRound: "@null"
|
|
]
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
testOptions {
|
|
unitTests {
|
|
returnDefaultValues = true
|
|
includeAndroidResources = true
|
|
|
|
all {
|
|
maxParallelForks = 10
|
|
forkEvery = 20
|
|
}
|
|
}
|
|
}
|
|
|
|
useLibrary "org.apache.http.legacy"
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
jcenter()
|
|
flatDir {
|
|
dirs 'libs'
|
|
}
|
|
maven { url 'https://jitpack.io' }
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
wearApp project(':wear')
|
|
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
implementation 'com.google.android.gms:play-services-wearable:17.0.0'
|
|
implementation 'com.google.firebase:firebase-core:17.2.0'
|
|
implementation("com.crashlytics.sdk.android:crashlytics:2.9.9@aar") {
|
|
transitive = true;
|
|
}
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
|
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
|
implementation 'com.google.android.material:material:1.0.0'
|
|
implementation 'androidx.percentlayout:percentlayout:1.0.0'
|
|
implementation "com.wdullaer:materialdatetimepicker:2.3.0"
|
|
|
|
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
|
|
|
|
implementation "com.j256.ormlite:ormlite-core:${ormLiteVersion}"
|
|
implementation "com.j256.ormlite:ormlite-android:${ormLiteVersion}"
|
|
implementation("com.github.tony19:logback-android-classic:1.1.1-6") {
|
|
exclude group: "com.google.android", module: "android"
|
|
}
|
|
implementation "org.apache.commons:commons-lang3:3.7"
|
|
implementation "org.slf4j:slf4j-api:1.7.21"
|
|
// Graphview cannot be upgraded
|
|
implementation "com.jjoe64:graphview:4.0.1"
|
|
implementation "com.joanzapata.iconify:android-iconify-fontawesome:2.1.1"
|
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
|
implementation(name: "android-edittext-validator-v1.3.4-mod", ext: "aar")
|
|
implementation 'com.madgag.spongycastle:core:1.58.0.0'
|
|
|
|
implementation("com.google.android:flexbox:0.3.0") {
|
|
exclude group: "com.android.support"
|
|
}
|
|
implementation("io.socket:socket.io-client:1.0.0") {
|
|
// excluding org.json which is provided by Android
|
|
exclude group: "org.json", module: "json"
|
|
}
|
|
implementation "com.google.code.gson:gson:2.8.5"
|
|
implementation "com.google.guava:guava:24.1-jre"
|
|
|
|
implementation "net.danlew:android.joda:2.9.9.1"
|
|
implementation "uk.com.robust-it:cloning:1.9.9"
|
|
|
|
implementation 'org.mozilla:rhino:1.7.7.2'
|
|
|
|
implementation 'com.github.DavidProdinger:weekdays-selector:1.1.0'
|
|
|
|
testImplementation "junit:junit:4.12"
|
|
testImplementation "org.json:json:20140107"
|
|
testImplementation "org.mockito:mockito-core:2.8.47"
|
|
testImplementation "org.powermock:powermock-api-mockito2:${powermockVersion}"
|
|
testImplementation "org.powermock:powermock-module-junit4-rule-agent:${powermockVersion}"
|
|
testImplementation "org.powermock:powermock-module-junit4-rule:${powermockVersion}"
|
|
testImplementation "org.powermock:powermock-module-junit4:${powermockVersion}"
|
|
testImplementation "joda-time:joda-time:2.9.9"
|
|
testImplementation("com.google.truth:truth:0.39") {
|
|
exclude group: "com.google.guava", module: "guava"
|
|
}
|
|
testImplementation "org.skyscreamer:jsonassert:1.5.0"
|
|
testImplementation "org.hamcrest:hamcrest-all:1.3"
|
|
/*
|
|
testImplementation("uk.org.lidalia:slf4j-test:1.2.0") {
|
|
exclude group: "com.google.guava", module: "guava"
|
|
}
|
|
*/
|
|
|
|
androidTestImplementation "org.mockito:mockito-core:2.8.47"
|
|
androidTestImplementation "com.google.dexmaker:dexmaker:${dexmakerVersion}"
|
|
androidTestImplementation "com.google.dexmaker:dexmaker-mockito:${dexmakerVersion}"
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
|
|
|
|
// new for tidepool
|
|
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
|
|
implementation "com.squareup.retrofit2:retrofit:2.4.0"
|
|
implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0"
|
|
implementation "com.squareup.retrofit2:converter-gson:2.4.0"
|
|
|
|
}
|
|
|
|
|
|
task downloadZipFile(type: Download) {
|
|
src 'https://github.com/MilosKozak/danars-support-lib/archive/master.zip'
|
|
dest new File(buildDir, 'danars.zip')
|
|
}
|
|
|
|
task downloadAndUnzipFile(dependsOn: downloadZipFile, type: Copy) {
|
|
from zipTree(downloadZipFile.dest)
|
|
def outputDir = file("${buildDir}/unpacked/dist")
|
|
into outputDir
|
|
}
|
|
|
|
|
|
task copyLibs(dependsOn: downloadAndUnzipFile, type: Copy) {
|
|
def src = file("${buildDir}/unpacked/dist/danars-support-lib-master")
|
|
def target = file("src/main/jniLibs/")
|
|
|
|
from src
|
|
into target
|
|
}
|
|
|
|
task full_clean(type: Delete) {
|
|
delete file("src/main/jniLibs")
|
|
}
|
|
|
|
clean.dependsOn full_clean
|
|
preBuild.dependsOn copyLibs
|
|
|
|
printf('--------------\n')
|
|
printf('isMaster: %s\n', isMaster().toString())
|
|
printf('allCommited: %s\n', allCommited().toString())
|
|
printf('--------------\n')
|
|
if (isMaster() && !allCommited()) {
|
|
throw new GradleException('There are uncommitted changes or git system is not available. Clone sources again as described in wiki and do not allow gradle update')
|
|
}
|
|
|