From a5a1419610f2f48696347bd08325fc9749816cbc Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 1 Feb 2022 20:27:53 +0800 Subject: [PATCH 1/4] Add Project.project(Module) --- app/build.gradle.kts | 6 +++--- buildSrc/src/main/kotlin/Extensions.kt | 4 ++-- common/build.gradle.kts | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 22eae3b89..5271e8410 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -3,9 +3,9 @@ setupApp(AppModule.App) dependencies { implementations( // projects - project(LibModule.Login.moduleName), - project(LibModule.Main.moduleName), - project(LibModule.Web.moduleName) + project(LibModule.Login), + project(LibModule.Main), + project(LibModule.Web) ) debugImplementations(Libs.leakCanary) } diff --git a/buildSrc/src/main/kotlin/Extensions.kt b/buildSrc/src/main/kotlin/Extensions.kt index 600093eb5..af87670a5 100644 --- a/buildSrc/src/main/kotlin/Extensions.kt +++ b/buildSrc/src/main/kotlin/Extensions.kt @@ -57,7 +57,7 @@ fun DependencyHandler.androidTestImplementations(vararg names: Any): Array = config("testImplementation", *names) -inline val Module.moduleName: String get() = ":${tag}" +fun Project.project(module: Module): Project = project(":${module.tag}") fun PluginAware.applyPlugins(vararg names: String) { apply { @@ -218,7 +218,7 @@ private inline fun Project.setupCommon( } dependencies { if (module != LibModule.Common) { - implementations(project(LibModule.Common.moduleName)) + implementations(project(LibModule.Common)) } implementations( Libs.arouter, diff --git a/common/build.gradle.kts b/common/build.gradle.kts index cb487161a..74cb473a2 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -11,8 +11,8 @@ setupLib(LibModule.Common) { dependencies { apis( // project - project(LibModule.Base.moduleName), - project(LibModule.Adapter.moduleName), + project(LibModule.Base), + project(LibModule.Adapter), // UI Libs.constraintLayout, Libs.cardView, From ff36b73c3b6e12d20fe22fc838164dcfa24a5787 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 1 Feb 2022 20:34:42 +0800 Subject: [PATCH 2/4] Use `setupCommon` in common module --- buildSrc/src/main/kotlin/Extensions.kt | 11 ++++++----- common/build.gradle.kts | 4 +++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/kotlin/Extensions.kt b/buildSrc/src/main/kotlin/Extensions.kt index af87670a5..1f30ed013 100644 --- a/buildSrc/src/main/kotlin/Extensions.kt +++ b/buildSrc/src/main/kotlin/Extensions.kt @@ -152,7 +152,10 @@ inline fun Project.setupBase( fun Project.setupLib( module: LibModule, block: LibraryExtension.() -> Unit = {} -) = setupCommon(module, block) +) = setupCommon(module) { + dependencies.implementations(project(LibModule.Common)) + block() +} fun Project.setupApp( module: AppModule, @@ -198,10 +201,11 @@ fun Project.setupApp( "${module.appName}_${versionName}_${versionCode}_${flavorName}_${buildType.name}.apk" } } + dependencies.implementations(project(LibModule.Common)) block() } -private inline fun Project.setupCommon( +inline fun Project.setupCommon( module: Module, crossinline block: T.() -> Unit = {} ) = setupBase(module) { @@ -217,9 +221,6 @@ private inline fun Project.setupCommon( } } dependencies { - if (module != LibModule.Common) { - implementations(project(LibModule.Common)) - } implementations( Libs.arouter, *Libs.hilt, diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 74cb473a2..3e84b47d6 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,4 +1,6 @@ -setupLib(LibModule.Common) { +import com.android.build.gradle.LibraryExtension + +setupCommon(LibModule.Common) { buildFeatures.buildConfig = true productFlavors.all { buildConfigField(BuildConfigField.VersionCode) From 681ccecbd8408de97a8398a335b98d7d0164b81b Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 1 Feb 2022 20:38:23 +0800 Subject: [PATCH 3/4] Rename appId in test module --- buildSrc/src/main/kotlin/Enums.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Enums.kt b/buildSrc/src/main/kotlin/Enums.kt index b4d5b6692..3a1e9278f 100644 --- a/buildSrc/src/main/kotlin/Enums.kt +++ b/buildSrc/src/main/kotlin/Enums.kt @@ -21,7 +21,7 @@ enum class LibModule(override val tag: String) : Module { enum class AppModule(override val tag: String, val appName: String, val appId: String) : Module { App("app", "Demo", "io.goooler.demoapp"), - Test("app", "Test", "io.goooler.test") + Test("app", "Test", "io.goooler.demoapp.test") } enum class BuildConfigField(val key: String, val value: Any) { From 64b9bbdd4b65a35cf0df86f309397e985e759f89 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 1 Feb 2022 21:06:59 +0800 Subject: [PATCH 4/4] Clean up manifestPlaceholders --- buildSrc/src/main/kotlin/Extensions.kt | 1 - common/src/main/AndroidManifest.xml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/Extensions.kt b/buildSrc/src/main/kotlin/Extensions.kt index 1f30ed013..1f7c67822 100644 --- a/buildSrc/src/main/kotlin/Extensions.kt +++ b/buildSrc/src/main/kotlin/Extensions.kt @@ -166,7 +166,6 @@ fun Project.setupApp( targetSdk = 32 versionCode = appVersionCode versionName = appVersionName - manifestPlaceholders += mapOf("appName" to module.appName) resourceConfigurations += setOf("en", "zh-rCN", "xxhdpi") } signingConfigs.create("release") { diff --git a/common/src/main/AndroidManifest.xml b/common/src/main/AndroidManifest.xml index 1c3115649..ec4a84708 100644 --- a/common/src/main/AndroidManifest.xml +++ b/common/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ - \ No newline at end of file +