Centralise the DI code generation logic (#3562)

* Create Anvil extension helper

* Use the helper everywhere
This commit is contained in:
Jorge Martin Espinosa
2024-09-30 14:20:28 +02:00
committed by GitHub
parent a9b45a2f57
commit eeec7cc785
77 changed files with 327 additions and 447 deletions
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.analytics.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,20 +9,15 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
}
android {
namespace = "io.element.android.features.cachecleaner.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.cachecleaner.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -5
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
alias(libs.plugins.kotlin.serialization)
}
@@ -24,13 +25,10 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.appconfig)
implementation(projects.anvilannotations)
implementation(projects.libraries.architecture)
implementation(projects.libraries.core)
implementation(projects.libraries.designsystem)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.ftue.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.ftue.api)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.core)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.invite.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.invite.api)
implementation(libs.androidx.datastore.preferences)
implementation(projects.libraries.core)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.joinroom.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,20 +9,15 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
}
android {
namespace = "io.element.android.features.leaveroom.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -5
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -16,13 +18,9 @@ android {
namespace = "io.element.android.features.licenses.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(libs.serialization.json)
implementation(projects.libraries.architecture)
implementation(projects.libraries.designsystem)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
}
android {
@@ -19,9 +20,7 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
api(projects.features.location.api)
@@ -39,8 +38,6 @@ dependencies {
implementation(libs.accompanist.permission)
implementation(projects.libraries.uiStrings)
implementation(libs.dagger)
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
testImplementation(libs.test.junit)
testImplementation(libs.coroutines.test)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.lockscreen.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.lockscreen.api)
implementation(projects.appconfig)
implementation(projects.libraries.core)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
alias(libs.plugins.kotlin.serialization)
}
@@ -22,14 +23,10 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
implementation(projects.appconfig)
anvil(projects.anvilcodegen)
implementation(projects.libraries.core)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
}
android {
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.messages.api)
implementation(projects.appconfig)
implementation(projects.features.call.api)
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,12 +9,9 @@
plugins {
id("io.element.android-library")
alias(libs.plugins.anvil)
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
android {
namespace = "io.element.android.features.networkmonitor.impl"
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.appconfig)
implementation(projects.libraries.core)
implementation(projects.libraries.androidutils)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.poll.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.androidutils)
implementation(projects.appconfig)
implementation(projects.libraries.core)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.appconfig)
implementation(projects.services.toolbox.api)
implementation(projects.libraries.androidutils)
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,13 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.roomaliasresolver.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,14 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -5
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -20,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.roomdirectory.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2022-2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,13 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.appconfig)
implementation(projects.libraries.core)
implementation(projects.libraries.androidutils)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,14 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.appconfig)
implementation(projects.libraries.core)
implementation(projects.libraries.androidutils)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -21,14 +22,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.appconfig)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.core)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.signedout.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
api(projects.features.signedout.api)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,14 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -20,14 +21,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -7
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2023, 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
}
android {
@@ -19,14 +20,9 @@ android {
}
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
anvil(projects.anvilcodegen)
implementation(projects.anvilannotations)
implementation(projects.libraries.core)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
+3 -6
View File
@@ -1,3 +1,5 @@
import extension.setupAnvil
/*
* Copyright 2024 New Vector Ltd.
*
@@ -7,7 +9,6 @@
plugins {
id("io.element.android-compose-library")
alias(libs.plugins.anvil)
id("kotlin-parcelize")
}
@@ -15,13 +16,9 @@ android {
namespace = "io.element.android.features.viewfolder.impl"
}
anvil {
generateDaggerFactories.set(true)
}
setupAnvil()
dependencies {
implementation(projects.anvilannotations)
anvil(projects.anvilcodegen)
implementation(projects.libraries.androidutils)
implementation(projects.libraries.architecture)
implementation(projects.libraries.core)