From 20e07cb6564ba93de9e0b2c3b598c95f38572201 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 19:27:47 +0100 Subject: [PATCH] optimize build --- build.gradle | 15 +++++++++++++++ core/core-main/android_module_dependencies.gradle | 12 ------------ database/entities/build.gradle | 5 ++++- wear/build.gradle | 15 +++++++++++++++ 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/build.gradle b/build.gradle index 8d47930c26..80344616cd 100644 --- a/build.gradle +++ b/build.gradle @@ -107,3 +107,18 @@ subprojects { maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 } } + +// 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' + } +} \ No newline at end of file diff --git a/core/core-main/android_module_dependencies.gradle b/core/core-main/android_module_dependencies.gradle index df27afb3fb..8e2a9b7ee7 100644 --- a/core/core-main/android_module_dependencies.gradle +++ b/core/core-main/android_module_dependencies.gradle @@ -25,16 +25,4 @@ android { dependencies { kapt "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" - - // 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 - implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" } diff --git a/database/entities/build.gradle b/database/entities/build.gradle index 6a551950b7..21c10dbaba 100644 --- a/database/entities/build.gradle +++ b/database/entities/build.gradle @@ -7,11 +7,14 @@ plugins { } apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" android { namespace 'info.nightscout.database.entities' + + buildFeatures { + buildConfig = false + } } dependencies { diff --git a/wear/build.gradle b/wear/build.gradle index 2a5e427588..40ffa918d7 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -133,3 +133,18 @@ dependencies { 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' + } +} \ No newline at end of file