From 0232a4179ac691c6c51835f642374de223f5164c Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 14 Nov 2022 02:35:00 +0530 Subject: [PATCH] refactor(di): replace Tangle with Whetstone --- android/build.gradle.kts | 9 ----- .../msfjarvis/claw/android/AppComponent.kt | 23 ------------- .../msfjarvis/claw/android/ClawApplication.kt | 19 +++++------ .../msfjarvis/claw/android/MainActivity.kt | 9 +++-- .../android/injection/UrlLauncherModule.kt | 7 ++-- .../msfjarvis/claw/android/ui/LobstersApp.kt | 4 +-- .../claw/android/viewmodel/ClawViewModel.kt | 6 ++-- .../android/work/SavedPostUpdaterWorker.kt | 15 ++++---- .../claw/android/work/WorkManagerPlugin.kt | 34 ------------------- api/build.gradle.kts | 1 - core/build.gradle.kts | 1 - .../claw/core/injection/ContextModule.kt | 20 ----------- .../claw/core/injection/OkHttpModule.kt | 3 +- database/build.gradle.kts | 1 - .../claw/database/injection/DatabaseModule.kt | 3 +- detekt-baselines/android.xml | 2 +- di-scopes/build.gradle.kts | 18 ---------- .../msfjarvis/claw/injection/Components.kt | 20 ----------- .../claw/injection/scopes/AppScope.kt | 9 ----- .../claw/injection/scopes/SingleIn.kt | 12 ------- gradle/libs.versions.toml | 6 ---- metadata-extractor/build.gradle.kts | 1 - settings.gradle.kts | 1 - 23 files changed, 36 insertions(+), 188 deletions(-) delete mode 100644 android/src/main/kotlin/dev/msfjarvis/claw/android/AppComponent.kt delete mode 100644 android/src/main/kotlin/dev/msfjarvis/claw/android/work/WorkManagerPlugin.kt delete mode 100644 core/src/main/kotlin/dev/msfjarvis/claw/core/injection/ContextModule.kt delete mode 100644 di-scopes/build.gradle.kts delete mode 100644 di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/Components.kt delete mode 100644 di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/AppScope.kt delete mode 100644 di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/SingleIn.kt diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 8d27db96..2f132a82 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -48,8 +48,6 @@ android { } dependencies { - anvil(libs.tangle.viewmodel.compiler) - anvil(libs.tangle.work.compiler) kapt(libs.dagger.compiler) implementation(platform(libs.androidx.compose.bom)) implementation(libs.dagger) @@ -58,7 +56,6 @@ dependencies { implementation(projects.core) implementation(projects.coroutineUtils) implementation(projects.database) - implementation(projects.diScopes) implementation(projects.metadataExtractor) implementation(projects.model) implementation(libs.accompanist.swiperefresh) @@ -76,10 +73,4 @@ dependencies { implementation(libs.material.motion.core) implementation(libs.material.motion.navigation) implementation(libs.sqldelight.extensions.coroutines) - implementation(libs.tangle.viewmodel.api) - implementation(libs.tangle.viewmodel.compose) { - // https://github.com/RBusarow/Tangle/issues/558 - exclude("androidx.compose.compiler") - } - implementation(libs.tangle.work.api) } diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/AppComponent.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/AppComponent.kt deleted file mode 100644 index 01ceb1f3..00000000 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/AppComponent.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.android - -import android.app.Application -import com.squareup.anvil.annotations.MergeComponent -import dagger.BindsInstance -import dagger.Component -import dev.msfjarvis.claw.injection.scopes.AppScope -import javax.inject.Singleton - -@Singleton -@MergeComponent(AppScope::class) -interface AppComponent { - @Component.Factory - interface Factory { - fun create(@BindsInstance application: Application): AppComponent - } -} diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ClawApplication.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ClawApplication.kt index 5815d1d3..2b12715b 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ClawApplication.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ClawApplication.kt @@ -7,24 +7,23 @@ package dev.msfjarvis.claw.android import android.app.Application +import com.deliveryhero.whetstone.Whetstone +import com.deliveryhero.whetstone.app.ApplicationComponentOwner +import com.deliveryhero.whetstone.app.ContributesAppInjector import dev.msfjarvis.claw.core.injection.AppPlugin -import dev.msfjarvis.claw.injection.Components -import dev.msfjarvis.claw.injection.scopes.AppScope import javax.inject.Inject -import tangle.inject.TangleGraph -import tangle.inject.TangleScope -@TangleScope(AppScope::class) -class ClawApplication : Application() { +@ContributesAppInjector(generateAppComponent = true) +class ClawApplication : Application(), ApplicationComponentOwner { + + override val applicationComponent by + lazy(LazyThreadSafetyMode.NONE) { GeneratedApplicationComponent.create(this) } @Inject lateinit var plugins: Set<@JvmSuppressWildcards AppPlugin> override fun onCreate() { + Whetstone.inject(this) super.onCreate() - val component = DaggerAppComponent.factory().create(this) - Components.add(component) - TangleGraph.add(component) - TangleGraph.inject(this) plugins.forEach { plugin -> plugin.apply(this) } } } diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt index 2e5d52c4..b9677535 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/MainActivity.kt @@ -17,17 +17,16 @@ import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.NetworkType import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager +import com.deliveryhero.whetstone.Whetstone +import com.deliveryhero.whetstone.activity.ContributesActivityInjector import dev.msfjarvis.claw.android.ui.LobstersApp import dev.msfjarvis.claw.android.work.SavedPostUpdaterWorker import dev.msfjarvis.claw.common.comments.HTMLConverter import dev.msfjarvis.claw.common.urllauncher.UrlLauncher -import dev.msfjarvis.claw.injection.scopes.AppScope import java.util.concurrent.TimeUnit import javax.inject.Inject -import tangle.inject.TangleGraph -import tangle.inject.TangleScope -@TangleScope(AppScope::class) +@ContributesActivityInjector class MainActivity : ComponentActivity() { @Inject lateinit var urlLauncher: UrlLauncher @@ -36,8 +35,8 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - TangleGraph.inject(this) installSplashScreen() + Whetstone.inject(this) setContent { LobstersApp( urlLauncher = urlLauncher, diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/UrlLauncherModule.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/UrlLauncherModule.kt index 168b8945..089cd417 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/UrlLauncherModule.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/UrlLauncherModule.kt @@ -7,17 +7,18 @@ package dev.msfjarvis.claw.android.injection import android.content.Context +import com.deliveryhero.whetstone.ForScope +import com.deliveryhero.whetstone.activity.ActivityScope import com.squareup.anvil.annotations.ContributesTo import dagger.Module import dagger.Provides import dev.msfjarvis.claw.common.urllauncher.UrlLauncher -import dev.msfjarvis.claw.injection.scopes.AppScope @Module -@ContributesTo(AppScope::class) +@ContributesTo(ActivityScope::class) object UrlLauncherModule { @Provides - fun provideUrlLauncher(context: Context): UrlLauncher { + fun provideUrlLauncher(@ForScope(ActivityScope::class) context: Context): UrlLauncher { return UrlLauncher(context) } } diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index aa9a0d2b..a29bb0b1 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -32,6 +32,7 @@ import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.navArgument import androidx.navigation.navDeepLink import androidx.paging.compose.collectAsLazyPagingItems +import com.deliveryhero.whetstone.compose.injectedViewModel import com.google.accompanist.systemuicontroller.rememberSystemUiController import dev.msfjarvis.claw.android.R import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar @@ -53,7 +54,6 @@ import kotlinx.coroutines.launch import soup.compose.material.motion.navigation.MaterialMotionNavHost import soup.compose.material.motion.navigation.composable import soup.compose.material.motion.navigation.rememberMaterialMotionNavController -import tangle.viewmodel.compose.tangleViewModel @Suppress("ModifierMissing") // Top-level composable, will never have a modifier supplied. @OptIn(ExperimentalMaterial3Api::class, ExperimentalAnimationApi::class) @@ -62,7 +62,7 @@ fun LobstersApp( urlLauncher: UrlLauncher, htmlConverter: HTMLConverter, setWebUri: (String?) -> Unit, - viewModel: ClawViewModel = tangleViewModel(), + viewModel: ClawViewModel = injectedViewModel(), ) { val systemUiController = rememberSystemUiController() val hottestListState = rememberLazyListState() diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt index 1dce61b8..2ca3f21e 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt @@ -10,6 +10,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import androidx.paging.Pager import androidx.paging.PagingConfig +import com.deliveryhero.whetstone.viewmodel.ContributesViewModel import com.slack.eithernet.ApiResult.Failure import com.slack.eithernet.ApiResult.Success import dev.msfjarvis.claw.android.injection.IODispatcher @@ -19,15 +20,16 @@ import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.database.local.SavedPost import java.io.IOException import java.time.Month +import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import tangle.viewmodel.VMInject +@ContributesViewModel class ClawViewModel -@VMInject +@Inject constructor( private val api: LobstersApi, private val savedPostsRepository: SavedPostsRepository, diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/work/SavedPostUpdaterWorker.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/work/SavedPostUpdaterWorker.kt index 34951c47..e1af0609 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/work/SavedPostUpdaterWorker.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/work/SavedPostUpdaterWorker.kt @@ -9,17 +9,18 @@ package dev.msfjarvis.claw.android.work import android.content.Context import androidx.work.CoroutineWorker import androidx.work.WorkerParameters +import com.deliveryhero.whetstone.ForScope +import com.deliveryhero.whetstone.worker.ContributesWorker +import com.deliveryhero.whetstone.worker.WorkerScope import com.slack.eithernet.ApiResult -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject import dev.msfjarvis.claw.android.viewmodel.SavedPostsRepository import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.common.posts.toDbModel +import javax.inject.Inject import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.flow.first import kotlinx.coroutines.supervisorScope -import tangle.work.TangleWorker /** * WorkManager-backed [CoroutineWorker] that gets all the posts from [SavedPostsRepository], fetches @@ -27,14 +28,14 @@ import tangle.work.TangleWorker * saved posts that were saved before comment counts were added to be able to show a comment count * and for new-enough posts that are still getting comments to have an accurate one. */ -@TangleWorker +@ContributesWorker class SavedPostUpdaterWorker -@AssistedInject +@Inject constructor( + @ForScope(WorkerScope::class) appContext: Context, + workerParams: WorkerParameters, private val savedPostsRepository: SavedPostsRepository, private val lobstersApi: LobstersApi, - @Assisted appContext: Context, - @Assisted workerParams: WorkerParameters, ) : CoroutineWorker(appContext, workerParams) { override suspend fun doWork(): Result { val posts = savedPostsRepository.savedPosts.first() diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/work/WorkManagerPlugin.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/work/WorkManagerPlugin.kt deleted file mode 100644 index 16211846..00000000 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/work/WorkManagerPlugin.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.android.work - -import android.app.Application -import android.util.Log -import androidx.work.Configuration -import androidx.work.WorkManager -import com.squareup.anvil.annotations.ContributesMultibinding -import dev.msfjarvis.claw.core.injection.AppPlugin -import dev.msfjarvis.claw.injection.scopes.AppScope -import javax.inject.Inject -import tangle.work.TangleWorkerFactory - -@ContributesMultibinding(AppScope::class) -class WorkManagerPlugin -@Inject -constructor( - private val workerFactory: TangleWorkerFactory, -) : AppPlugin { - override fun apply(application: Application) { - WorkManager.initialize( - application, - Configuration.Builder() - .setWorkerFactory(workerFactory) - .setMinimumLoggingLevel(Log.DEBUG) - .build() - ) - } -} diff --git a/api/build.gradle.kts b/api/build.gradle.kts index be21f117..94b0aa3e 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -22,7 +22,6 @@ dependencies { api(projects.model) api(libs.retrofit) api(libs.eithernet) - implementation(projects.diScopes) implementation(libs.dagger) implementation(libs.javax.inject) testImplementation(testFixtures(libs.eithernet)) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 20bbde44..9f90cb50 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -21,7 +21,6 @@ android { namespace = "dev.msfjarvis.claw.core" } dependencies { api(libs.kotlinx.serialization.json) api(libs.okhttp.loggingInterceptor) - implementation(projects.diScopes) implementation(libs.dagger) implementation(libs.javax.inject) implementation(libs.napier) diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/ContextModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/ContextModule.kt deleted file mode 100644 index 9655d41d..00000000 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/ContextModule.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.core.injection - -import android.app.Application -import android.content.Context -import com.squareup.anvil.annotations.ContributesTo -import dagger.Binds -import dagger.Module -import dev.msfjarvis.claw.injection.scopes.AppScope - -@Module -@ContributesTo(AppScope::class) -interface ContextModule { - @get:Binds val Application.bindContext: Context -} diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt index 4db6faa3..9455e1e4 100644 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt +++ b/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt @@ -8,6 +8,7 @@ package dev.msfjarvis.claw.core.injection import android.content.Context import android.net.TrafficStats +import com.deliveryhero.whetstone.ForScope import com.deliveryhero.whetstone.app.ApplicationScope import com.squareup.anvil.annotations.ContributesTo import dagger.Binds @@ -37,7 +38,7 @@ interface OkHttpModule { private const val THREAD_STATS_TAG = 0x000090000 @Provides - fun provideCache(context: Context): Cache { + fun provideCache(@ForScope(ApplicationScope::class) context: Context): Cache { return Cache(context.cacheDir, CACHE_SIZE_MB) } diff --git a/database/build.gradle.kts b/database/build.gradle.kts index 7272e85b..cf76e0a9 100644 --- a/database/build.gradle.kts +++ b/database/build.gradle.kts @@ -31,7 +31,6 @@ sqldelight { dependencies { implementation(libs.dagger) implementation(projects.core) - implementation(projects.diScopes) implementation(libs.sqldelight.androidDriver) implementation(libs.sqldelight.primitiveAdapters) testImplementation(libs.sqldelight.jvmDriver) diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt b/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt index 00573d5b..549fc5a8 100644 --- a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt +++ b/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt @@ -9,6 +9,7 @@ package dev.msfjarvis.claw.database.injection import android.content.Context import app.cash.sqldelight.adapter.primitive.IntColumnAdapter import app.cash.sqldelight.driver.android.AndroidSqliteDriver +import com.deliveryhero.whetstone.ForScope import com.deliveryhero.whetstone.app.ApplicationScope import com.squareup.anvil.annotations.ContributesTo import dagger.Module @@ -24,7 +25,7 @@ object DatabaseModule { private const val LOBSTERS_DATABASE_NAME = "SavedPosts.db" @Provides - fun provideDatabase(context: Context): LobstersDatabase { + fun provideDatabase(@ForScope(ApplicationScope::class) context: Context): LobstersDatabase { val driver = AndroidSqliteDriver(LobstersDatabase.Schema, context, LOBSTERS_DATABASE_NAME) return LobstersDatabase(driver, SavedPost.Adapter(IntColumnAdapter, TagsAdapter())) } diff --git a/detekt-baselines/android.xml b/detekt-baselines/android.xml index fb5fb8e1..4891d1eb 100644 --- a/detekt-baselines/android.xml +++ b/detekt-baselines/android.xml @@ -2,7 +2,7 @@ - LongMethod:LobstersApp.kt$@Suppress("ModifierMissing") // Top-level composable, will never have a modifier supplied. @OptIn(ExperimentalMaterial3Api::class, ExperimentalAnimationApi::class) @Composable fun LobstersApp( urlLauncher: UrlLauncher, htmlConverter: HTMLConverter, setWebUri: (String?) -> Unit, viewModel: ClawViewModel = tangleViewModel(), ) + LongMethod:LobstersApp.kt$@Suppress("ModifierMissing") // Top-level composable, will never have a modifier supplied. @OptIn(ExperimentalMaterial3Api::class, ExperimentalAnimationApi::class) @Composable fun LobstersApp( urlLauncher: UrlLauncher, htmlConverter: HTMLConverter, setWebUri: (String?) -> Unit, viewModel: ClawViewModel = injectedViewModel(), ) LongParameterList:NetworkPosts.kt$( items: LazyPagingItems<LobstersPost>, listState: LazyListState, isPostSaved: suspend (SavedPost) -> Boolean, reloadPosts: () -> Unit, postActions: PostActions, modifier: Modifier = Modifier, ) diff --git a/di-scopes/build.gradle.kts b/di-scopes/build.gradle.kts deleted file mode 100644 index 5166eaea..00000000 --- a/di-scopes/build.gradle.kts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -@file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage") - -plugins { - kotlin("jvm") - id("dev.msfjarvis.claw.kotlin-library") - alias(libs.plugins.anvil) -} - -dependencies { - implementation(libs.dagger) - implementation(libs.javax.inject) -} diff --git a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/Components.kt b/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/Components.kt deleted file mode 100644 index 57a8326a..00000000 --- a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/Components.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.injection - -object Components { - - @PublishedApi - @Suppress("ObjectPropertyName", "ObjectPropertyNaming") - internal val _components = mutableSetOf() - - fun add(component: Any) { - _components.add(component) - } - - inline fun get(): T = _components.filterIsInstance().single() -} diff --git a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/AppScope.kt b/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/AppScope.kt deleted file mode 100644 index a05a3a63..00000000 --- a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/AppScope.kt +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.injection.scopes - -@Suppress("UnnecessaryAbstractClass") abstract class AppScope private constructor() diff --git a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/SingleIn.kt b/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/SingleIn.kt deleted file mode 100644 index 4bbe79be..00000000 --- a/di-scopes/src/main/kotlin/dev/msfjarvis/claw/injection/scopes/SingleIn.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright © 2022 Harsh Shandilya. - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - */ -package dev.msfjarvis.claw.injection.scopes - -import javax.inject.Scope -import kotlin.reflect.KClass - -@Scope @Retention(AnnotationRetention.RUNTIME) annotation class SingleIn(val clazz: KClass<*>) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 962ec954..7806965a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,6 @@ retrofit = "2.9.0" richtext = "0.15.0" serialization = "1.4.1" sqldelight = "2.0.0-alpha04" -tangle = "0.15.1" whetstone = "0.3.0" workmanager = "2.8.0-beta02" @@ -84,11 +83,6 @@ sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", vers sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" } sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" } sqldelight-primitiveAdapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" } -tangle-viewmodel-api = { module = "com.rickbusarow.tangle:tangle-viewmodel-api", version.ref = "tangle" } -tangle-viewmodel-compiler = { module = "com.rickbusarow.tangle:tangle-viewmodel-compiler", version.ref = "tangle" } -tangle-viewmodel-compose = { module = "com.rickbusarow.tangle:tangle-viewmodel-compose", version.ref = "tangle" } -tangle-work-api = { module = "com.rickbusarow.tangle:tangle-work-api", version.ref = "tangle" } -tangle-work-compiler = { module = "com.rickbusarow.tangle:tangle-work-compiler", version.ref = "tangle" } testparameterinjector = "com.google.testparameterinjector:test-parameter-injector:1.9" whetstone = { module = "com.deliveryhero.whetstone:whetstone", version.ref = "whetstone" } diff --git a/metadata-extractor/build.gradle.kts b/metadata-extractor/build.gradle.kts index 225135df..83bae82d 100644 --- a/metadata-extractor/build.gradle.kts +++ b/metadata-extractor/build.gradle.kts @@ -13,7 +13,6 @@ plugins { dependencies { api(libs.crux) - implementation(projects.diScopes) implementation(projects.model) implementation(libs.javax.inject) implementation(libs.jsoup) diff --git a/settings.gradle.kts b/settings.gradle.kts index ffe89fdd..5bb0192d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -171,7 +171,6 @@ include( "core", "coroutine-utils", "database", - "di-scopes", "metadata-extractor", "model", )