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",
)