plugins { alias(libs.plugins.androidApplication) apply false alias(libs.plugins.jetbrainsKotlinAndroid) apply false alias(libs.plugins.androidLibrary) apply false alias(libs.plugins.jetbrainsKotlinJvm) apply false alias(libs.plugins.androidBenchmark) apply false alias(libs.plugins.diffplugSpotless) alias(libs.plugins.googleServices) apply false alias(libs.plugins.jetbrainsComposeCompiler) apply false } allprojects { apply plugin: 'com.diffplug.spotless' if (project === rootProject) { spotless { predeclareDeps() } spotlessPredeclare { kotlin { ktlint("1.3.1") } } } else { spotless { kotlin { target 'src/**/*.kt' ktlint("1.3.1") licenseHeaderFile rootProject.file('spotless/copyright.kt'), "package|import|class|object|sealed|open|interface|abstract " } groovyGradle { target '*.gradle' } } } } subprojects { afterEvaluate { tasks.named("preBuild") { dependsOn("spotlessApply") } } } tasks.register('installGitHook', Copy) { from new File(rootProject.rootDir, 'git-hooks/pre-commit') from new File(rootProject.rootDir, 'git-hooks/pre-push') into { new File(rootProject.rootDir, '.git/hooks') } fileMode 0777 } tasks.getByPath(':amethyst:preBuild').dependsOn installGitHook