- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker, BookmarkViewModel, FeedViewModel - iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker services - Linux: Add settings-store.vala, State.vala signals, view widgets (FeedList, FeedDetail, AddFeed, Search, Settings, Bookmark) - Linux: Add bookmark-store.vala, bookmark vala model, search-service.vala - Android: Add NotificationService, NotificationManager, NotificationPreferencesStore - Android: Add BookmarkDao, BookmarkRepository, SettingsStore - Add unit tests for iOS, Android, Linux - Add integration tests - Add performance benchmarks - Update tasks and documentation Co-Authored-By: Paperclip <noreply@paperclip.ing>
78 lines
2.4 KiB
Kotlin
78 lines
2.4 KiB
Kotlin
plugins {
|
|
id("com.android.library") version "8.5.0"
|
|
id("org.jetbrains.kotlin.android") version "1.9.22"
|
|
id("org.jetbrains.kotlin.plugin.parcelize") version "1.9.22"
|
|
id("org.jetbrains.kotlin.kapt") version "1.9.22"
|
|
}
|
|
|
|
android {
|
|
namespace = "com.rssuper"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
minSdk = 24
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isMinifyEnabled = false
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
isCoreLibraryDesugaringEnabled = true
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
|
|
sourceSets {
|
|
getByName("main") {
|
|
java.srcDirs("src/main/java")
|
|
}
|
|
getByName("androidTest") {
|
|
java.srcDirs("src/androidTest/java")
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
|
|
|
|
// AndroidX
|
|
implementation("androidx.core:core-ktx:1.12.0")
|
|
|
|
// XML Parsing - built-in XmlPullParser
|
|
implementation("androidx.room:room-runtime:2.6.1")
|
|
implementation("androidx.room:room-ktx:2.6.1")
|
|
kapt("androidx.room:room-compiler:2.6.1")
|
|
|
|
// Moshi for JSON serialization
|
|
implementation("com.squareup.moshi:moshi:1.15.0")
|
|
kapt("com.squareup.moshi:moshi-kotlin-codegen:1.15.0")
|
|
implementation("com.squareup.moshi:moshi-kotlin:1.15.0")
|
|
|
|
// OkHttp for networking
|
|
implementation("com.squareup.okhttp3:okhttp:4.12.0")
|
|
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
|
|
|
|
// Testing
|
|
testImplementation("junit:junit:4.13.2")
|
|
testImplementation("com.squareup.moshi:moshi:1.15.0")
|
|
testImplementation("com.squareup.moshi:moshi-kotlin:1.15.0")
|
|
testImplementation("org.mockito:mockito-core:5.7.0")
|
|
testImplementation("org.mockito:mockito-inline:5.2.0")
|
|
testImplementation("androidx.room:room-testing:2.6.1")
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
|
|
testImplementation("androidx.arch.core:core-testing:2.2.0")
|
|
testImplementation("androidx.test:core:1.5.0")
|
|
testImplementation("androidx.test.ext:junit:1.1.5")
|
|
testImplementation("androidx.test:runner:1.5.2")
|
|
testImplementation("org.robolectric:robolectric:4.11.1")
|
|
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
|
|
}
|