Skip to content

Commit 86f468e

Browse files
AwkwardPeak7cuong-tran
authored andcommitted
add spotless with ktlint (#13170)
* spotless with ktlint * disable spotless on generated newtoki and wolfdotcom files * fetch depth (cherry picked from commit bec7c8d)
1 parent b9e4524 commit 86f468e

File tree

10 files changed

+62
-3
lines changed

10 files changed

+62
-3
lines changed

.github/workflows/build_pull_request.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ jobs:
6262
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6363
with:
6464
persist-credentials: false
65+
fetch-depth: 0
6566

6667
- name: Set up Java
6768
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0

.github/workflows/build_push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ jobs:
8282
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8383
with:
8484
persist-credentials: false
85+
fetch-depth: 0
8586

8687
- name: Set up Java
8788
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0

buildSrc/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ dependencies {
1212
implementation(libs.gradle.agp)
1313
implementation(libs.gradle.kotlin)
1414
implementation(libs.gradle.serialization)
15+
implementation(libs.spotless.gradle)
1516
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
plugins {
2+
id("com.diffplug.spotless")
3+
}
4+
5+
spotless {
6+
ratchetFrom = "68ed874a42038f4efd001c555cba9bf7de8474d7"
7+
8+
kotlin {
9+
target("**/*.kt", "**/*.kts")
10+
targetExclude("**/build/**/*.kt")
11+
ktlint()
12+
.editorConfigOverride(mapOf(
13+
"ktlint_standard_discouraged-comment-location" to "disabled",
14+
"ktlint_function_signature_body_expression_wrapping" to "default",
15+
"ktlint_standard_chain-method-continuation" to "disable"
16+
))
17+
trimTrailingWhitespace()
18+
endWithNewline()
19+
}
20+
21+
java {
22+
target("**/*.java")
23+
targetExclude("**/build/**/*.java")
24+
googleJavaFormat()
25+
removeUnusedImports()
26+
trimTrailingWhitespace()
27+
endWithNewline()
28+
}
29+
30+
format("gradle") {
31+
target("**/*.gradle")
32+
trimTrailingWhitespace()
33+
endWithNewline()
34+
}
35+
36+
format("xml") {
37+
target("**/*.xml")
38+
targetExclude("**/build/**/*.xml")
39+
trimTrailingWhitespace()
40+
endWithNewline()
41+
}
42+
}
43+
44+
tasks {
45+
val spotlessTask = if (System.getenv("CI") != "true") "spotlessApply" else "spotlessCheck"
46+
named("preBuild") {
47+
dependsOn(tasks.getByName(spotlessTask))
48+
}
49+
}

buildSrc/src/main/kotlin/lib-multisrc.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
id("com.android.library")
33
id("kotlinx-serialization")
4+
id("keiyoushi.lint")
45
}
56

67
android {

common.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import com.android.build.gradle.tasks.PackageAndroidArtifact
22

33
apply plugin: 'com.android.application'
44
apply plugin: 'kotlinx-serialization'
5+
apply plugin: 'keiyoushi.lint'
56

67
assert !ext.has("pkgNameSuffix")
78
assert !ext.has("libVersion")

core/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
id("com.android.library")
3+
id("keiyoushi.lint")
34
}
45

56
android {

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ gradle-agp = { module = "com.android.tools.build:gradle", version = "9.0.0" }
1313
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
1414
gradle-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" }
1515

16+
spotless-gradle = { group = "com.diffplug.spotless", name = "spotless-plugin-gradle", version = "8.2.1" }
17+
1618
tachiyomi-lib = { module = "com.github.komikku-app:extensions-lib", version = "1.7.1" }
1719

1820
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }

src/ko/newtoki/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ def domainNumberFileName = "src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/
1111
def domainNumberFile = new File(domainNumberFileName)
1212
def backupFile = new File(domainNumberFileName + "_bak")
1313

14-
task updateDomainNumber {
14+
tasks.register('updateDomainNumber') {
1515
doLast {
1616
def domainNumberUrl = "https://stevenyomi.github.io/source-domains/newtoki.txt"
1717
def number = new URL(domainNumberUrl).withInputStream { it.readLines()[0] }
1818
println("[NewToki] Updating domain number to $number")
1919
domainNumberFile.renameTo(backupFile)
2020
domainNumberFile.withPrintWriter {
21+
it.println("// spotless:off")
2122
it.println("// THIS FILE IS AUTO-GENERATED, DO NOT COMMIT")
2223
it.println("package eu.kanade.tachiyomi.extension.ko.newtoki")
2324
it.println("const val fallbackDomainNumber = \"$number\"")
@@ -27,7 +28,7 @@ task updateDomainNumber {
2728

2829
preBuild.dependsOn updateDomainNumber
2930

30-
task restoreBackup {
31+
tasks.register('restoreBackup') {
3132
doLast {
3233
if (backupFile.exists()) {
3334
println("[NewToki] Restoring placeholder file")
@@ -37,7 +38,7 @@ task restoreBackup {
3738
}
3839
}
3940

40-
tasks.whenTaskAdded { task ->
41+
tasks.configureEach { task ->
4142
if (task.name == "assembleDebug" || task.name == "assembleRelease") {
4243
task.finalizedBy(restoreBackup)
4344
}

src/ko/wolfdotcom/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ tasks.register('updateDomainNumber') {
2626
if (domainNumber != -1) {
2727
domainNumberFile.renameTo(backupFile)
2828
domainNumberFile.withPrintWriter {
29+
it.println("// spotless:off")
2930
it.println("// THIS FILE IS AUTO-GENERATED, DO NOT COMMIT")
3031
it.println("package eu.kanade.tachiyomi.extension.ko.wolfdotcom")
3132
it.println("const val DEFAULT_DOMAIN_NUMBER = \"$domainNumber\"")

0 commit comments

Comments
 (0)