// Agendula's own task store: the dmfs task provider (Apache-2.0), vendored. // // This module is a fork, not a dependency. What we changed and why is recorded // in PROVENANCE.md; the short version is that the authority and the permission // names had to become ours, and the permission names are hardcoded in the // upstream AAR's manifest, so no prebuilt artifact could have been used. // // It stays Java, on upstream's `org.dmfs.*` package names, formatted the way // upstream formats it. That is deliberate: every deviation from upstream is a // line we have to re-reason about if we ever resync, so the diff is kept // legible rather than idiomatic. plugins { alias(libs.plugins.android.library) } android { namespace = "de.jeanlucmakiola.agendula.provider" compileSdk = 37 defaultConfig { // Matches :app. Upstream ships minSdk 21 / targetSdk 29; targetSdk is set // by the application module anyway, but the SDK floor here has to agree // with :app's or the manifest merger rejects it. minSdk = 29 consumerProguardFiles("proguard-rules.pro") } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } buildFeatures { // The provider reads its own authority out of resources, so it needs R. // It has no BuildConfig use at all. buildConfig = false } testOptions { unitTests { isIncludeAndroidResources = true } } lint { // Upstream's translations are inherited as-is and are partial — a missing // string falls back to the English base at runtime. Same call as :app. informational += listOf("MissingTranslation") } } dependencies { implementation(libs.dmfs.jems) implementation(libs.dmfs.rfc5545.datetime) implementation(libs.dmfs.lib.recur) // Upstream's own JVM test suite, on current versions of its stack. Note this // module is JUnit 4 while :app is JUnit 5 — deliberately, see the version // catalog. Do not add `useJUnitPlatform()` here. testImplementation(libs.junit4) testImplementation(libs.robolectric) testImplementation(libs.hamcrest) testImplementation(libs.mockito.core) testImplementation(libs.dmfs.jems.testing) }