///* // * 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().all { kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() kotlinOptions.freeCompilerArgs += listOf( "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xopt-in=kotlin.time.ExperimentalTime", ) } extensions.configure { 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"), "(<[^!?])") } } }