database -> kts
This commit is contained in:
parent
6ada2afa0d
commit
e614fa9343
|
@ -7,6 +7,7 @@ object Libs {
|
||||||
|
|
||||||
const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin"
|
const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin"
|
||||||
const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin"
|
const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin"
|
||||||
|
const val reflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlin"
|
||||||
}
|
}
|
||||||
|
|
||||||
object KotlinX {
|
object KotlinX {
|
||||||
|
@ -39,6 +40,15 @@ object Libs {
|
||||||
const val uiAutomator = "androidx.test.uiautomator:uiautomator:2.2.0"
|
const val uiAutomator = "androidx.test.uiautomator:uiautomator:2.2.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object Room {
|
||||||
|
private const val roomVersion = "2.5.2"
|
||||||
|
|
||||||
|
const val room = "androidx.room:room-ktx:$roomVersion"
|
||||||
|
const val compiler = "androidx.room:room-compiler:$roomVersion"
|
||||||
|
const val runtime = "androidx.room:room-runtime:$roomVersion"
|
||||||
|
const val rxJava3 = "androidx.room:room-rxjava3:$roomVersion"
|
||||||
|
const val testing = "androidx.room:room-testing:$roomVersion"
|
||||||
|
}
|
||||||
object Wear {
|
object Wear {
|
||||||
|
|
||||||
const val wear = "androidx.wear:wear:1.3.0"
|
const val wear = "androidx.wear:wear:1.3.0"
|
||||||
|
@ -63,6 +73,7 @@ object Libs {
|
||||||
}
|
}
|
||||||
|
|
||||||
const val truth = "com.google.truth:truth:1.1.5"
|
const val truth = "com.google.truth:truth:1.1.5"
|
||||||
|
const val gson = "com.google.code.gson:gson:2.10.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
object Dagger {
|
object Dagger {
|
||||||
|
@ -113,13 +124,11 @@ object Libs {
|
||||||
const val json = "org.json:json:20230618"
|
const val json = "org.json:json:20230618"
|
||||||
const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0"
|
const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0"
|
||||||
|
|
||||||
const val room = "2.5.2"
|
|
||||||
const val lifecycle = "2.6.2"
|
const val lifecycle = "2.6.2"
|
||||||
const val coroutines = "1.7.3"
|
const val coroutines = "1.7.3"
|
||||||
const val activity = "1.8.0"
|
const val activity = "1.8.0"
|
||||||
const val fragmentktx = "1.6.1"
|
const val fragmentktx = "1.6.1"
|
||||||
const val ormLite = "4.46"
|
const val ormLite = "4.46"
|
||||||
const val gson = "2.10.1"
|
|
||||||
const val nav = "2.7.4"
|
const val nav = "2.7.4"
|
||||||
const val material = "1.10.0"
|
const val material = "1.10.0"
|
||||||
const val gridlayout = "1.0.0"
|
const val gridlayout = "1.0.0"
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.library")
|
id("com.android.library")
|
||||||
id("kotlin-android")
|
id("kotlin-android")
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
plugins {
|
|
||||||
id 'com.android.library'
|
|
||||||
id 'kotlin-android'
|
|
||||||
id 'kotlin-kapt'
|
|
||||||
id 'kotlin-allopen'
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle"
|
|
||||||
apply from: "${project.rootDir}/core/main/test_dependencies.gradle"
|
|
||||||
|
|
||||||
android {
|
|
||||||
|
|
||||||
namespace 'app.aaps.database.entities'
|
|
||||||
defaultConfig {
|
|
||||||
minSdkVersion 26 // for wear
|
|
||||||
}
|
|
||||||
|
|
||||||
buildFeatures {
|
|
||||||
buildConfig = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
||||||
|
|
||||||
api "androidx.core:core-ktx:$core_version"
|
|
||||||
|
|
||||||
kapt "androidx.room:room-compiler:$room_version"
|
|
||||||
api "androidx.room:room-ktx:$room_version"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
allOpen {
|
|
||||||
// allows mocking for classes w/o directly opening them for release builds
|
|
||||||
annotation 'app.aaps.database.annotations.DbOpenForTesting'
|
|
||||||
}
|
|
25
database/entities/build.gradle.kts
Normal file
25
database/entities/build.gradle.kts
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
plugins {
|
||||||
|
id("com.android.library")
|
||||||
|
id("kotlin-android")
|
||||||
|
id("kotlin-kapt")
|
||||||
|
id("kotlin-allopen")
|
||||||
|
id("android-module-dependencies")
|
||||||
|
id("all-open-dependencies")
|
||||||
|
id("test-dependencies")
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
|
||||||
|
namespace = "app.aaps.database.entities"
|
||||||
|
defaultConfig {
|
||||||
|
minSdk = Versions.wearMinSdk // for wear
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
api(Libs.Kotlin.stdlibJdk8)
|
||||||
|
api(Libs.AndroidX.core)
|
||||||
|
api(Libs.AndroidX.Room.room)
|
||||||
|
|
||||||
|
kapt(Libs.AndroidX.Room.compiler)
|
||||||
|
}
|
|
@ -1,52 +0,0 @@
|
||||||
plugins {
|
|
||||||
id 'com.android.library'
|
|
||||||
id 'kotlin-android'
|
|
||||||
id 'kotlin-kapt'
|
|
||||||
id 'kotlin-allopen'
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle"
|
|
||||||
apply from: "${project.rootDir}/core/main/test_dependencies.gradle"
|
|
||||||
apply from: "${project.rootDir}/core/main/jacoco_global.gradle"
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace 'app.aaps.database.impl'
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
kapt {
|
|
||||||
arguments {
|
|
||||||
arg("room.incremental", "true")
|
|
||||||
arg("room.schemaLocation", "$projectDir/schemas")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sourceSets {
|
|
||||||
androidTest.assets.srcDirs += files("$projectDir/schemas")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation project(':database:entities')
|
|
||||||
|
|
||||||
api "androidx.core:core-ktx:$core_version"
|
|
||||||
api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
||||||
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
||||||
|
|
||||||
api "io.reactivex.rxjava3:rxjava:$rxjava_version"
|
|
||||||
api "io.reactivex.rxjava3:rxandroid:$rxandroid_version"
|
|
||||||
api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version"
|
|
||||||
|
|
||||||
api "com.google.code.gson:gson:$gson_version"
|
|
||||||
|
|
||||||
api "androidx.room:room-runtime:$room_version"
|
|
||||||
kapt "androidx.room:room-compiler:$room_version"
|
|
||||||
/* Database schema export */
|
|
||||||
kapt "androidx.room:room-compiler:$room_version"
|
|
||||||
api "androidx.room:room-ktx:$room_version"
|
|
||||||
api "androidx.room:room-rxjava3:$room_version"
|
|
||||||
|
|
||||||
api "com.google.dagger:dagger-android:$dagger_version"
|
|
||||||
api "com.google.dagger:dagger-android-support:$dagger_version"
|
|
||||||
|
|
||||||
androidTestImplementation "androidx.room:room-testing:$room_version"
|
|
||||||
}
|
|
50
database/impl/build.gradle.kts
Normal file
50
database/impl/build.gradle.kts
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
plugins {
|
||||||
|
id("com.android.library")
|
||||||
|
id("kotlin-android")
|
||||||
|
id("kotlin-kapt")
|
||||||
|
id("kotlin-allopen")
|
||||||
|
id("android-module-dependencies")
|
||||||
|
id("test-dependencies")
|
||||||
|
}
|
||||||
|
|
||||||
|
apply(from = "${project.rootDir}/core/main/jacoco_global.gradle")
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace = "app.aaps.database.impl"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
kapt {
|
||||||
|
arguments {
|
||||||
|
arg("room.incremental", "true")
|
||||||
|
arg("room.schemaLocation", "$projectDir/schemas")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sourceSets {
|
||||||
|
getByName("androidTest").assets.srcDirs("$projectDir/schemas")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(project(":database:entities"))
|
||||||
|
|
||||||
|
api(Libs.Kotlin.stdlibJdk8)
|
||||||
|
api(Libs.Kotlin.reflect)
|
||||||
|
api(Libs.AndroidX.core)
|
||||||
|
|
||||||
|
api(Libs.Rx.rxJava)
|
||||||
|
api(Libs.Rx.rxAndroid)
|
||||||
|
api(Libs.Rx.rxKotlin)
|
||||||
|
|
||||||
|
api(Libs.Google.gson)
|
||||||
|
|
||||||
|
api(Libs.AndroidX.Room.room)
|
||||||
|
api(Libs.AndroidX.Room.runtime)
|
||||||
|
api(Libs.AndroidX.Room.rxJava3)
|
||||||
|
kapt(Libs.AndroidX.Room.compiler)
|
||||||
|
|
||||||
|
api(Libs.Dagger.android)
|
||||||
|
api(Libs.Dagger.androidSupport)
|
||||||
|
|
||||||
|
androidTestImplementation(Libs.AndroidX.Room.testing)
|
||||||
|
}
|
|
@ -1,15 +0,0 @@
|
||||||
package app.aaps.database.annotations
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is the actual annotation that makes the class open. Don't use it directly, only through [DbOpenForTesting]
|
|
||||||
* which has a NOOP replacement in production.
|
|
||||||
*/
|
|
||||||
@Target(AnnotationTarget.ANNOTATION_CLASS)
|
|
||||||
annotation class DbOpenClass
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Annotate a class with [DbOpenForTesting] if it should be extendable for testing.
|
|
||||||
*/
|
|
||||||
@DbOpenClass
|
|
||||||
@Target(AnnotationTarget.CLASS)
|
|
||||||
annotation class DbOpenForTesting
|
|
|
@ -1,7 +1,7 @@
|
||||||
package app.aaps.database.impl
|
package app.aaps.database.impl
|
||||||
|
|
||||||
|
import androidx.annotation.OpenForTesting
|
||||||
import app.aaps.database.ValueWrapper
|
import app.aaps.database.ValueWrapper
|
||||||
import app.aaps.database.annotations.DbOpenForTesting
|
|
||||||
import app.aaps.database.entities.Bolus
|
import app.aaps.database.entities.Bolus
|
||||||
import app.aaps.database.entities.BolusCalculatorResult
|
import app.aaps.database.entities.BolusCalculatorResult
|
||||||
import app.aaps.database.entities.Carbs
|
import app.aaps.database.entities.Carbs
|
||||||
|
@ -34,8 +34,9 @@ import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
@DbOpenForTesting
|
@OpenForTesting
|
||||||
@Singleton class AppRepository @Inject internal constructor(
|
@Singleton
|
||||||
|
class AppRepository @Inject internal constructor(
|
||||||
internal val database: AppDatabase
|
internal val database: AppDatabase
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
package app.aaps.database.annotations
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Annotate a class with [DbOpenForTesting] if it should be extendable for testing.
|
|
||||||
* In production the class remains final.
|
|
||||||
*/
|
|
||||||
@Target(AnnotationTarget.CLASS)
|
|
||||||
annotation class DbOpenForTesting
|
|
Loading…
Reference in a new issue