73 lines
2.1 KiB
Kotlin
73 lines
2.1 KiB
Kotlin
///*
|
|
// * Designed and developed by 2022 skydoves (Jaewoong Eum)
|
|
// *
|
|
// * Licensed under the Apache License, Version 2.0 (the "License");
|
|
// * you may not use this file except in compliance with the License.
|
|
// * You may obtain a copy of the License at
|
|
// *
|
|
// * http://www.apache.org/licenses/LICENSE-2.0
|
|
// *
|
|
// * Unless required by applicable law or agreed to in writing, software
|
|
// * distributed under the License is distributed on an "AS IS" BASIS,
|
|
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// * See the License for the specific language governing permissions and
|
|
// * limitations under the License.
|
|
// */
|
|
|
|
@Suppress("DSL_SCOPE_VIOLATION")
|
|
plugins {
|
|
alias(libs.plugins.spotless)
|
|
}
|
|
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
|
|
dependencies {
|
|
classpath(libs.agp)
|
|
classpath(libs.kotlin.gradlePlugin)
|
|
classpath(libs.hilt.plugin)
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
apply(plugin = rootProject.libs.plugins.spotless.get().pluginId)
|
|
|
|
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {
|
|
kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString()
|
|
kotlinOptions.freeCompilerArgs += listOf(
|
|
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
|
"-Xopt-in=kotlin.time.ExperimentalTime",
|
|
)
|
|
}
|
|
|
|
extensions.configure<com.diffplug.gradle.spotless.SpotlessExtension> {
|
|
kotlin {
|
|
target("**/*.kt")
|
|
targetExclude("$buildDir/**/*.kt")
|
|
ktlint().setUseExperimental(true).editorConfigOverride(
|
|
mapOf(
|
|
"indent_size" to "2",
|
|
"continuation_indent_size" to "2"
|
|
)
|
|
)
|
|
licenseHeaderFile(rootProject.file("spotless/spotless.license.kt"))
|
|
trimTrailingWhitespace()
|
|
endWithNewline()
|
|
}
|
|
format("kts") {
|
|
target("**/*.kts")
|
|
targetExclude("$buildDir/**/*.kts")
|
|
licenseHeaderFile(rootProject.file("spotless/spotless.license.kt"), "(^(?![\\/ ]\\*).*$)")
|
|
}
|
|
format("xml") {
|
|
target("**/*.xml")
|
|
targetExclude("**/build/**/*.xml")
|
|
licenseHeaderFile(rootProject.file("spotless/spotless.license.xml"), "(<[^!?])")
|
|
}
|
|
}
|
|
}
|