From 2cf9012c0e9475c22c5ac7ff92b0975639213873 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Wed, 19 Jun 2024 09:01:14 +0530 Subject: [PATCH] build(conf): core app config is not applied to :core:app module --- composite-builds/build-logic/plugins/build.gradle.kts | 4 ++++ .../com/itsaky/androidide/plugins/AndroidIDEPlugin.kt | 2 +- .../java/com/itsaky/androidide/plugins/DIConfigPlugin.kt | 8 ++++++++ .../itsaky/androidide/plugins/conf/AndroidModuleConf.kt | 3 +-- core/app/build.gradle.kts | 3 +-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/composite-builds/build-logic/plugins/build.gradle.kts b/composite-builds/build-logic/plugins/build.gradle.kts index 1182b857d..6cc9c3460 100644 --- a/composite-builds/build-logic/plugins/build.gradle.kts +++ b/composite-builds/build-logic/plugins/build.gradle.kts @@ -52,6 +52,10 @@ gradlePlugin { id = "com.itsaky.androidide.build" implementationClass = "com.itsaky.androidide.plugins.AndroidIDEPlugin" } + create("com.itsaky.androidide.core-app") { + id = "com.itsaky.androidide.core-app" + implementationClass = "com.itsaky.androidide.plugins.AndroidIDECoreAppPlugin" + } create("com.itsaky.androidide.build.propsparser") { id = "com.itsaky.androidide.build.propsparser" implementationClass = "com.itsaky.androidide.plugins.PropertiesParserPlugin" diff --git a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt index 94af5fc23..0daadc6f6 100644 --- a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt +++ b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt @@ -48,7 +48,7 @@ class AndroidIDEPlugin : Plugin { plugins.apply(SigningConfigPlugin::class.java) } - if (isFDroidBuild && project.plugins.hasPlugin(AndroidIDECoreAppPlugin::class.java)) { + if (isFDroidBuild && project.plugins.hasPlugin("com.itsaky.androidide.core-app")) { val baseExtension = extensions.getByType(BaseExtension::class.java) logger.warn("Building for F-Droid with configuration:") logger.warn("applicationId = ${baseExtension.defaultConfig.applicationId}") diff --git a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/DIConfigPlugin.kt b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/DIConfigPlugin.kt index 533d2235f..df1106027 100644 --- a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/DIConfigPlugin.kt +++ b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/DIConfigPlugin.kt @@ -17,8 +17,10 @@ package com.itsaky.androidide.plugins +import com.itsaky.androidide.plugins.util.isAndroidModule import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalogsExtension /** * Configures dependency injection in a module. @@ -29,6 +31,12 @@ class DIConfigPlugin : Plugin { override fun apply(target: Project) = target.run { dependencies.add("implementation", "javax.inject:javax.inject:1") + if (isAndroidModule) { + val libs = + rootProject.extensions.getByType(VersionCatalogsExtension::class.java).named("libs") + val hiltAndroid = libs.findLibrary("hilt-android").get().get() + dependencies.add("implementation", hiltAndroid) + } Unit } } \ No newline at end of file diff --git a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt index 47f0ca456..c4680e3cc 100644 --- a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt +++ b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/conf/AndroidModuleConf.kt @@ -27,7 +27,6 @@ import com.itsaky.androidide.build.config.BuildConfig import com.itsaky.androidide.build.config.FDroidConfig import com.itsaky.androidide.build.config.isFDroidBuild import com.itsaky.androidide.build.config.projectVersionCode -import com.itsaky.androidide.plugins.AndroidIDECoreAppPlugin import com.itsaky.androidide.plugins.NoDesugarPlugin import com.itsaky.androidide.plugins.util.SdkUtils.getAndroidJar import org.gradle.api.Project @@ -119,7 +118,7 @@ fun Project.configureAndroidModule( configureCoreLibDesugaring(this, coreLibDesugDep) - if (project.plugins.hasPlugin(AndroidIDECoreAppPlugin::class.java)) { + if (project.plugins.hasPlugin("com.itsaky.androidide.core-app")) { packagingOptions { jniLibs { useLegacyPackaging = true diff --git a/core/app/build.gradle.kts b/core/app/build.gradle.kts index 0631ea183..af5d0bbdf 100755 --- a/core/app/build.gradle.kts +++ b/core/app/build.gradle.kts @@ -3,9 +3,9 @@ import com.itsaky.androidide.build.config.BuildConfig import com.itsaky.androidide.desugaring.utils.JavaIOReplacements.applyJavaIOReplacements import com.itsaky.androidide.plugins.AndroidIDEAssetsPlugin -import com.itsaky.androidide.plugins.AndroidIDECoreAppPlugin plugins { + id("com.itsaky.androidide.core-app") id("com.android.application") id("kotlin-android") id("kotlin-kapt") @@ -18,7 +18,6 @@ plugins { apply { plugin(AndroidIDEAssetsPlugin::class.java) - plugin(AndroidIDECoreAppPlugin::class.java) } buildscript {