import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.com.android.application) apply false alias(libs.plugins.com.android.library) apply false alias(libs.plugins.org.jetbrains.kotlin.android) apply false alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.com.google.dagger.hilt.android) apply false alias(libs.plugins.com.google.devtools.ksp) apply false alias(libs.plugins.com.android.test) apply false alias(libs.plugins.org.jetbrains.kotlin.serialization) apply false alias(libs.plugins.org.jetbrains.kotlin.jvm) apply false } subprojects { tasks.withType().configureEach { val composeMetricsPath = project.layout.buildDirectory.dir("compose_metrics").get().asFile.path val composeStabilityConfigurationPath = "${project.rootDir.path}/compose_compiler_config.conf" compilerOptions { freeCompilerArgs.addAll( "-Xcontext-receivers", "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi", "-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi", "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api", "-opt-in=com.google.accompanist.permissions.ExperimentalPermissionsApi", "-opt-in=androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi", "-opt-in=androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi", "-opt-in=androidx.compose.material3.adaptive.navigation.suite.ExperimentalMaterial3AdaptiveNavigationSuiteApi", "-opt-in=androidx.tv.material3.ExperimentalTvMaterial3Api", "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-P", "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=$composeMetricsPath", "-P", "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=$composeMetricsPath", "-P", "plugin:androidx.compose.compiler.plugins.kotlin:stabilityConfigurationPath=$composeStabilityConfigurationPath" ) } } }