Skip to content

Commit bd2f712

Browse files
committed
fix(alef-backend-kotlin-android): suppress trailing-comma-on-declaration-site and related ktlint rules
Extend the @file:Suppress block with four additional ktlint rules that ktlint flags in kreuzcrawl's generated Android Kotlin files: - trailing-comma-on-declaration-site (MapResult.kt data class constructor) - spacing-between-declarations-with-annotations (AuthConfig.kt) - blank-line-between-when-conditions (AuthConfig.kt when expressions) - chain-method-continuation (AuthConfig.kt chained .let/.also calls) Snapshots updated.
1 parent a891a97 commit bd2f712

6 files changed

Lines changed: 30 additions & 0 deletions

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2929

3030
- **alef-backend-kotlin-android: add `@file:Suppress` header to suppress ktlint/detekt violations in generated Kotlin files**: generated Kotlin files violated `ktlint:standard:trailing-comma-on-call-site`, `ktlint:standard:spacing-between-declarations-with-comments`, `ktlint:standard:when-entry-bracing`, `ktlint:standard:annotation`, and detekt's `TooManyFunctions` on ~30 files in kreuzcrawl. A file-level `@file:Suppress(...)` annotation is now emitted at the top of every assembled `.kt` file before the package declaration. (`crates/alef-backend-kotlin-android/src/gen_bindings.rs`)
3131

32+
- **alef-backend-kotlin-android: extend `@file:Suppress` to cover `trailing-comma-on-declaration-site`, `spacing-between-declarations-with-annotations`, `blank-line-between-when-conditions`, and `chain-method-continuation`**: ktlint flagged additional rules on kreuzcrawl's generated `MapResult.kt` (missing trailing comma on data class constructor) and `AuthConfig.kt` (spacing around annotated declarations, blank lines between when-conditions, chain method continuation). All four new rules are now included in the `@file:Suppress` block. (`crates/alef-backend-kotlin-android/src/gen_bindings.rs`)
33+
3234
- **alef-backend-swift: add `// swift-format-ignore-file` directive to generated Swift files**: swift-format reformatted `packages/swift/Sources/Kreuzcrawl/Kreuzcrawl.swift` on every prek run. The `// swift-format-ignore-file` magic comment is now emitted at the top of every generated Swift bindings file, instructing swift-format to skip the file entirely. (`crates/alef-backend-swift/src/gen_bindings.rs`)
3335

3436
- **alef-backend-java: wrap generated Builder class with CPD-OFF/CPD-ON markers**: PMD's copy-paste detector flagged 64-line (213 token) and 19-line (121 token) duplications across `CrawlPageResult.java` and `ScrapeResult.java` builder classes in kreuzcrawl. `// CPD-OFF` and `// CPD-ON` comments are now emitted around the nested builder class so CPD suppresses these intentional structural duplications. (`crates/alef-backend-java/src/gen_bindings/types.rs`)

crates/alef-backend-kotlin-android/src/gen_bindings.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,8 +569,12 @@ fn assemble_kt_content(package: &str, imports: &BTreeSet<String>, body: &str) ->
569569
content.push_str(
570570
"@file:Suppress(\n \
571571
\"ktlint:standard:trailing-comma-on-call-site\",\n \
572+
\"ktlint:standard:trailing-comma-on-declaration-site\",\n \
572573
\"ktlint:standard:spacing-between-declarations-with-comments\",\n \
574+
\"ktlint:standard:spacing-between-declarations-with-annotations\",\n \
573575
\"ktlint:standard:when-entry-bracing\",\n \
576+
\"ktlint:standard:blank-line-between-when-conditions\",\n \
577+
\"ktlint:standard:chain-method-continuation\",\n \
574578
\"ktlint:standard:annotation\",\n \
575579
\"ktlint:standard:max-line-length\",\n \
576580
\"MaxLineLength\",\n \

crates/alef-backend-kotlin-android/tests/snapshots/snapshot_test__snapshot_basic__packages__kotlin_android__src__main__kotlin__dev__kreuzberg__Config.kt.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ expression: "&file.content"
55
// Generated by alef. Do not edit by hand.
66
@file:Suppress(
77
"ktlint:standard:trailing-comma-on-call-site",
8+
"ktlint:standard:trailing-comma-on-declaration-site",
89
"ktlint:standard:spacing-between-declarations-with-comments",
10+
"ktlint:standard:spacing-between-declarations-with-annotations",
911
"ktlint:standard:when-entry-bracing",
12+
"ktlint:standard:blank-line-between-when-conditions",
13+
"ktlint:standard:chain-method-continuation",
1014
"ktlint:standard:annotation",
15+
"ktlint:standard:max-line-length",
16+
"MaxLineLength",
1117
"TooManyFunctions",
1218
"FunctionParameterNaming",
1319
"LongParameterList",

crates/alef-backend-kotlin-android/tests/snapshots/snapshot_test__snapshot_basic__packages__kotlin_android__src__main__kotlin__dev__kreuzberg__Demo.kt.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ expression: "&file.content"
55
// Generated by alef. Do not edit by hand.
66
@file:Suppress(
77
"ktlint:standard:trailing-comma-on-call-site",
8+
"ktlint:standard:trailing-comma-on-declaration-site",
89
"ktlint:standard:spacing-between-declarations-with-comments",
10+
"ktlint:standard:spacing-between-declarations-with-annotations",
911
"ktlint:standard:when-entry-bracing",
12+
"ktlint:standard:blank-line-between-when-conditions",
13+
"ktlint:standard:chain-method-continuation",
1014
"ktlint:standard:annotation",
15+
"ktlint:standard:max-line-length",
16+
"MaxLineLength",
1117
"TooManyFunctions",
1218
"FunctionParameterNaming",
1319
"LongParameterList",

crates/alef-backend-kotlin-android/tests/snapshots/snapshot_test__snapshot_basic__packages__kotlin_android__src__main__kotlin__dev__kreuzberg__DemoError.kt.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ expression: "&file.content"
55
// Generated by alef. Do not edit by hand.
66
@file:Suppress(
77
"ktlint:standard:trailing-comma-on-call-site",
8+
"ktlint:standard:trailing-comma-on-declaration-site",
89
"ktlint:standard:spacing-between-declarations-with-comments",
10+
"ktlint:standard:spacing-between-declarations-with-annotations",
911
"ktlint:standard:when-entry-bracing",
12+
"ktlint:standard:blank-line-between-when-conditions",
13+
"ktlint:standard:chain-method-continuation",
1014
"ktlint:standard:annotation",
15+
"ktlint:standard:max-line-length",
16+
"MaxLineLength",
1117
"TooManyFunctions",
1218
"FunctionParameterNaming",
1319
"LongParameterList",

crates/alef-backend-kotlin-android/tests/snapshots/snapshot_test__snapshot_basic__packages__kotlin_android__src__main__kotlin__dev__kreuzberg__Status.kt.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ expression: "&file.content"
55
// Generated by alef. Do not edit by hand.
66
@file:Suppress(
77
"ktlint:standard:trailing-comma-on-call-site",
8+
"ktlint:standard:trailing-comma-on-declaration-site",
89
"ktlint:standard:spacing-between-declarations-with-comments",
10+
"ktlint:standard:spacing-between-declarations-with-annotations",
911
"ktlint:standard:when-entry-bracing",
12+
"ktlint:standard:blank-line-between-when-conditions",
13+
"ktlint:standard:chain-method-continuation",
1014
"ktlint:standard:annotation",
15+
"ktlint:standard:max-line-length",
16+
"MaxLineLength",
1117
"TooManyFunctions",
1218
"FunctionParameterNaming",
1319
"LongParameterList",

0 commit comments

Comments
 (0)