From 51f7dab93c4d0d9b029a7f2401af59c257164d22 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Fri, 23 Mar 2018 00:06:58 +0100 Subject: [PATCH] Refactored persistence into separate module --- app/build.gradle.kts | 7 +-- persistence/build.gradle.kts | 62 +++++++++++++++++++ persistence/proguard-rules.pro | 0 persistence/src/main/AndroidManifest.xml | 2 + .../persistence/AccountDatabase.kt | 0 .../persistence/QuasselBacklogStorage.kt | 0 .../persistence/QuasselDatabase.kt | 0 settings.gradle | 2 +- 8 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 persistence/build.gradle.kts create mode 100644 persistence/proguard-rules.pro create mode 100644 persistence/src/main/AndroidManifest.xml rename {app => persistence}/src/main/java/de/kuschku/quasseldroid/persistence/AccountDatabase.kt (100%) rename {app => persistence}/src/main/java/de/kuschku/quasseldroid/persistence/QuasselBacklogStorage.kt (100%) rename {app => persistence}/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bbc4069df..441ce2c73 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -49,12 +49,6 @@ android { setProperty("archivesBaseName", "QuasselDroidNG-$versionName") - javaCompileOptions { - annotationProcessorOptions { - arguments = mapOf("room.schemaLocation" to "$projectDir/schemas") - } - } - // Disable test runner analytics testInstrumentationRunnerArguments = mapOf( "disableAnalytics" to "true" @@ -134,6 +128,7 @@ dependencies { // Quassel implementation(project(":viewmodel")) + implementation(project(":persistence")) implementation(project(":lib")) { exclude(group = "org.threeten", module = "threetenbp") } diff --git a/persistence/build.gradle.kts b/persistence/build.gradle.kts new file mode 100644 index 000000000..591e1f709 --- /dev/null +++ b/persistence/build.gradle.kts @@ -0,0 +1,62 @@ +plugins { + id("com.android.library") + kotlin("android") + kotlin("kapt") +} + +android { + compileSdkVersion(27) + buildToolsVersion("27.0.3") + + defaultConfig { + minSdkVersion(16) + targetSdkVersion(27) + + consumerProguardFiles("proguard-rules.pro") + + javaCompileOptions { + annotationProcessorOptions { + arguments = mapOf("room.schemaLocation" to "$projectDir/schemas") + } + } + } +} + +dependencies { + implementation(kotlin("stdlib", "1.2.30")) + + // App Compat + withVersion("27.1.0") { + implementation("com.android.support", "appcompat-v7", version) + } + + // App Arch Lifecycle + withVersion("1.1.0") { + implementation("android.arch.lifecycle", "extensions", version) + implementation("android.arch.lifecycle", "reactivestreams", version) + kapt("android.arch.lifecycle", "compiler", version) + } + + // App Arch Persistence + withVersion("1.1.0-beta1") { + implementation("android.arch.persistence.room", "runtime", version) + implementation("android.arch.persistence.room", "rxjava2", version) + kapt("android.arch.persistence.room", "compiler", version) + testImplementation("android.arch.persistence.room", "testing", version) + } + + // App Arch Paging + implementation("android.arch.paging", "runtime", "1.0.0-alpha7") { + exclude(group = "junit", module = "junit") + } + + // Utility + implementation("io.reactivex.rxjava2", "rxjava", "2.1.9") + implementation("org.threeten", "threetenbp", "1.3.6", classifier = "no-tzdb") + implementation("org.jetbrains", "annotations", "15.0") + + // Quassel + implementation(project(":lib")) { + exclude(group = "org.threeten", module = "threetenbp") + } +} \ No newline at end of file diff --git a/persistence/proguard-rules.pro b/persistence/proguard-rules.pro new file mode 100644 index 000000000..e69de29bb diff --git a/persistence/src/main/AndroidManifest.xml b/persistence/src/main/AndroidManifest.xml new file mode 100644 index 000000000..e20834273 --- /dev/null +++ b/persistence/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest package="de.kuschku.quasseldroid.persistence"></manifest> diff --git a/app/src/main/java/de/kuschku/quasseldroid/persistence/AccountDatabase.kt b/persistence/src/main/java/de/kuschku/quasseldroid/persistence/AccountDatabase.kt similarity index 100% rename from app/src/main/java/de/kuschku/quasseldroid/persistence/AccountDatabase.kt rename to persistence/src/main/java/de/kuschku/quasseldroid/persistence/AccountDatabase.kt diff --git a/app/src/main/java/de/kuschku/quasseldroid/persistence/QuasselBacklogStorage.kt b/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselBacklogStorage.kt similarity index 100% rename from app/src/main/java/de/kuschku/quasseldroid/persistence/QuasselBacklogStorage.kt rename to persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselBacklogStorage.kt diff --git a/app/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt b/persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt similarity index 100% rename from app/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt rename to persistence/src/main/java/de/kuschku/quasseldroid/persistence/QuasselDatabase.kt diff --git a/settings.gradle b/settings.gradle index c9875a387..8346cc68a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,3 @@ -include ':invokerannotations', ':invokergenerator', ':lib', ':malheur', ':app', ":slidingpanel", ":viewmodel" +include ':invokerannotations', ':invokergenerator', ':lib', ':malheur', ':app', ":slidingpanel", ":viewmodel", ":persistence" rootProject.buildFileName = 'build.gradle.kts' -- GitLab