AndroidAPS/wear/build.gradle
2023-09-24 18:51:26 +02:00

149 lines
4.9 KiB
Groovy

buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath "org.jacoco:org.jacoco.core:0.8.10"
}
}
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'kotlin-allopen'
}
apply from: "${project.rootDir}/core/main/test_dependencies.gradle"
apply from: "${project.rootDir}/core/main/android_dependencies.gradle"
apply from: "${project.rootDir}/core/main/jacoco_global.gradle"
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 {
compileSdk 34
defaultConfig {
minSdkVersion 26
targetSdkVersion 29
versionCode 2
versionName "1.0.3"
buildConfigField "String", "BUILDVERSION", generateGitBuild()
}
buildFeatures {
viewBinding true
}
flavorDimensions = ["standard"]
productFlavors {
full {
applicationId "info.nightscout.androidaps"
dimension "standard"
versionName version
}
pumpcontrol {
applicationId "info.nightscout.aapspumpcontrol"
dimension "standard"
versionName version + "-pumpcontrol"
}
aapsclient {
applicationId "info.nightscout.aapsclient"
dimension "standard"
versionName version + "-aapsclient"
}
aapsclient2 {
applicationId "info.nightscout.aapsclient2"
dimension "standard"
versionName version + "-aapsclient"
}
}
namespace 'info.nightscout.androidaps'
}
allprojects {
repositories {
google()
mavenCentral()
}
apply plugin: 'jacoco'
}
dependencies {
implementation project(':shared:impl')
implementation project(':core:interfaces')
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation "androidx.core:core-ktx:$core_version"
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
implementation "androidx.preference:preference-ktx:$preferencektx_version"
implementation 'androidx.wear:wear:1.3.0'
implementation 'androidx.wear.tiles:tiles:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation project(':shared:tests')
compileOnly "com.google.android.wearable:wearable:$wearable_version"
implementation "com.google.android.support:wearable:$wearable_version"
implementation "com.google.android.gms:play-services-wearable:$play_services_wearable_version"
implementation(files("${rootProject.rootDir}/core/libraries/libs/ustwo-clockwise-debug.aar"))
implementation(files("${rootProject.rootDir}/core/libraries/libs/wearpreferenceactivity-0.5.0.aar"))
implementation(files("${rootProject.rootDir}/core/libraries/libs/hellocharts-library-1.5.8.aar"))
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-datetime:$kotlinx_datetime_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
// for old fashioned support-app version
implementation "com.google.dagger:dagger:$dagger_version"
implementation "com.google.dagger:dagger-android:$dagger_version"
implementation "com.google.dagger:dagger-android-support:$dagger_version"
kapt "com.google.dagger:dagger-android-processor:$dagger_version"
kapt "com.google.dagger:dagger-compiler:$dagger_version"
}
repositories {
mavenCentral()
}
// This is necessary to prevent Gradle build errors like:
//
// Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.0)
//
// By explicitly adding these dependencies, the jetifier
// is forced to use the correct lifecycle version instead
// of automatically picking 2.3.1.
//
// See: https://stackoverflow.com/a/69832319/560774
configurations {
all {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
}