amethyst/build.gradle

82 lines
2.6 KiB
Groovy
Raw Normal View History

2023-07-30 22:10:23 +00:00
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2023-01-11 18:31:20 +00:00
buildscript {
ext {
2023-11-09 17:02:28 +00:00
fragment_version = "1.6.2"
2024-01-29 21:28:53 +00:00
lifecycle_version = '2.7.0'
2024-02-13 16:38:55 +00:00
compose_ui_version = '1.6.1'
nav_version = '2.7.7'
2023-01-11 18:31:20 +00:00
room_version = "2.4.3"
2024-01-29 21:28:53 +00:00
accompanist_version = '0.34.0'
2023-11-24 15:32:15 +00:00
coil_version = '2.5.0'
2023-12-02 19:14:15 +00:00
vico_version = '1.13.1'
2024-01-29 21:28:53 +00:00
media3_version = '1.2.1'
2023-09-12 21:53:18 +00:00
core_ktx_version = '1.12.0'
2024-02-13 16:38:55 +00:00
material3_version = '1.2.0'
2023-01-11 18:31:20 +00:00
}
dependencies {
2023-09-18 21:15:17 +00:00
classpath 'com.google.gms:google-services:4.4.0'
}
}
2023-01-11 18:31:20 +00:00
plugins {
id 'com.android.application' version '8.2.2' apply false
id 'com.android.library' version '8.2.2' apply false
id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
id 'org.jetbrains.kotlin.jvm' version '1.9.22' apply false
id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.22' apply false
id 'androidx.benchmark' version '1.2.3' apply false
id 'com.diffplug.spotless' version '6.25.0' apply false
2023-03-07 18:09:26 +00:00
}
2023-06-06 19:49:52 +00:00
subprojects {
2023-07-30 22:10:23 +00:00
tasks.withType(KotlinCompile).configureEach {
2023-06-06 19:49:52 +00:00
kotlinOptions {
if (project.findProperty("composeCompilerReports") == "true") {
freeCompilerArgs += [
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" +
project.buildDir.absolutePath + "/compose_compiler"
]
}
if (project.findProperty("composeCompilerMetrics") == "true") {
freeCompilerArgs += [
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" +
project.buildDir.absolutePath + "/compose_compiler"
]
}
}
}
2024-01-06 15:44:05 +00:00
apply plugin: 'com.diffplug.spotless'
spotless {
kotlin {
target '**/*.kt'
targetExclude("$buildDir/**/*.kt")
ktlint("1.1.0")
//ktfmt().googleStyle()
2024-01-06 15:44:32 +00:00
licenseHeaderFile rootProject.file('spotless/copyright.kt'), "package|import|class|object|sealed|open|interface|abstract "
2024-01-06 15:44:05 +00:00
}
groovyGradle {
target '*.gradle'
}
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(':app:preBuild').dependsOn installGitHook