package jp.co.progress_llc.buildlogic import com.android.build.api.dsl.LibraryExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies class FeatureConfigurePlugin: Plugin { override fun apply(project: Project) = with(project) { with(pluginManager) { apply("com.android.library") apply("org.jetbrains.kotlin.android") apply("com.google.devtools.ksp") apply("com.google.dagger.hilt.android") apply("org.jetbrains.kotlin.plugin.compose") } extensions.configure { configureCommonExtension(this) defaultConfig.consumerProguardFiles("consumer-rules.pro") buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } buildFeatures.compose = true } dependencies { add("implementation", project.libs().findLibrary("androidx-core-ktx").get()) add("implementation", project.libs().findLibrary("androidx-appcompat").get()) add("implementation", project.libs().findLibrary("material").get()) add("implementation", project.libs().findLibrary("hilt-android").get()) add("implementation", project.libs().findLibrary("hilt-navigation-compose").get()) add("implementation", project.libs().findLibrary("androidx-lifecycle-runtime-ktx").get()) add("implementation", project.libs().findLibrary("androidx-lifecycle-viewmodel-compose").get()) add("implementation", platform(project.libs().findLibrary("compose-bom").get())) add("implementation", project.libs().findLibrary("compose-ui").get()) add("implementation", project.libs().findLibrary("compose-material").get()) add("implementation", project.libs().findLibrary("androidx-ui-tooling-preview").get()) add("ksp", project.libs().findLibrary("hilt-compiler").get()) add("debugImplementation", platform(project.libs().findLibrary("compose-bom").get())) add("debugImplementation", project.libs().findLibrary("androidx-ui-tooling").get()) } } }