Skip to content

Commit 20820b9

Browse files
authored
Update detekt to 1.23.0 (#3551)
1 parent e06c8f7 commit 20820b9

File tree

107 files changed

+480
-326
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+480
-326
lines changed

buildSrc/src/main/kotlin/toolkit-detekt.gradle.kts

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33
import io.gitlab.arturbosch.detekt.Detekt
4+
import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
5+
import kotlin.reflect.KVisibility
6+
import kotlin.reflect.full.companionObject
7+
import kotlin.reflect.full.companionObjectInstance
8+
import kotlin.reflect.full.functions
9+
import kotlin.reflect.full.memberFunctions
10+
import kotlin.reflect.full.memberProperties
411

512
plugins {
613
id("io.gitlab.arturbosch.detekt")
@@ -16,13 +23,12 @@ dependencies {
1623

1724
detekt {
1825
val rulesProject = project(":detekt-rules").projectDir
19-
source.setFrom("$projectDir")
26+
source.setFrom(projectDir)
2027
buildUponDefaultConfig = true
2128
parallel = true
2229
allRules = false
23-
config = files("$rulesProject/detekt.yml")
30+
config.setFrom("$rulesProject/detekt.yml")
2431
autoCorrect = true
25-
2632
}
2733

2834
tasks.withType<Detekt> {
@@ -31,3 +37,26 @@ tasks.withType<Detekt> {
3137
xml.required.set(true) // Checkstyle like format for CI tool integrations
3238
}
3339
}
40+
41+
tasks.withType<DetektCreateBaselineTask> {
42+
// weird issue where the baseline tasks can't find the source code
43+
source.plus(projectDir)
44+
45+
// hack around https://github.com/detekt/detekt/issues/6167
46+
doLast {
47+
Class.forName("io.gitlab.arturbosch.detekt.invoke.DetektInvoker").kotlin.let { detektInvoker ->
48+
val invokerInstance = detektInvoker.companionObject!!.memberFunctions.find { it.name == "create" }!!.call(detektInvoker.companionObjectInstance, false)
49+
val invokeCliMethod = detektInvoker.memberFunctions.find { it.name == "invokeCli" }
50+
val jdkHomeArgumentClass = Class.forName("io.gitlab.arturbosch.detekt.invoke.JdkHomeArgument").kotlin
51+
val jdkHomeArgument = jdkHomeArgumentClass.constructors.first().call(jdkHome)
52+
val jdkHomeArgs = jdkHomeArgumentClass.memberFunctions.find { it.name == "toArgument" }!!.call(jdkHomeArgument) as List<String>
53+
val taskArgs = this::class.memberProperties.find { it.name == "arguments" }!!.call(this) as List<String>
54+
55+
val cliArgs = taskArgs + jdkHomeArgs
56+
val ignoreFailures = ignoreFailures.getOrElse(false)
57+
val classpath = detektClasspath.plus(pluginClasspath)
58+
val taskName = name
59+
invokeCliMethod!!.call(invokerInstance, cliArgs, classpath, taskName, ignoreFailures)
60+
}
61+
}
62+
}

buildSrc/src/main/kotlin/toolkit-kotlin-conventions.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ tasks.withType<KotlinCompile>().all {
6060
tasks.withType<Detekt>().configureEach {
6161
jvmTarget = javaVersion.majorVersion
6262
dependsOn(":detekt-rules:assemble")
63+
include("**/*.kt")
6364
exclude("build/**")
6465
exclude("**/*.Generated.kt")
6566
exclude("**/TelemetryDefinitions.kt")
@@ -68,14 +69,15 @@ tasks.withType<Detekt>().configureEach {
6869
tasks.withType<DetektCreateBaselineTask>().configureEach {
6970
jvmTarget = javaVersion.majorVersion
7071
dependsOn(":detekt-rules:assemble")
72+
include("**/*.kt")
7173
exclude("build/**")
7274
exclude("**/*.Generated.kt")
7375
exclude("**/TelemetryDefinitions.kt")
7476
}
7577

7678
project.afterEvaluate {
7779
tasks.check {
78-
dependsOn(tasks.detekt, tasks.named("detektMain"), tasks.named("detektTest"))
80+
dependsOn(tasks.detekt, tasks.detektMain, tasks.detektTest)
7981

8082
tasks.findByName("detektIntegrationTest")?.let {
8183
dependsOn(it)

core/detekt-baseline-main.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<SmellBaseline>
33
<ManuallySuppressedIssues/>
44
<CurrentIssues>
5+
<ID>SleepInsteadOfDelay:Waiter.kt$sleep(delay.toMillis())</ID>
56
<ID>UseCheckOrError:LambdaRuntime.kt$LambdaRuntime$throw IllegalStateException("LambdaRuntime has no runtime or override string")</ID>
67
<ID>UseCheckOrError:ToolkitRegionProvider.kt$ToolkitRegionProvider$throw IllegalStateException("$serviceId in ${region.partitionId} lacks a partitionEndpoint")</ID>
78
<ID>UseCheckOrError:ToolkitRegionProvider.kt$ToolkitRegionProvider$throw IllegalStateException("$serviceId is not global in ${region.partitionId}")</ID>

core/detekt-baseline-test.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<?xml version="1.0" ?>
1+
<?xml version='1.0' encoding='UTF-8'?>
22
<SmellBaseline>
3-
<ManuallySuppressedIssues></ManuallySuppressedIssues>
3+
<ManuallySuppressedIssues/>
44
<CurrentIssues>
55
<ID>UnsafeCallOnNullableType:EnvironmentVariableHelper.kt$EnvironmentVariableHelper$getField(System.getenv().javaClass, System.getenv(), "m")!!</ID>
66
<ID>UnsafeCallOnNullableType:PartitionParserTest.kt$PartitionParserTest$PartitionParser.parse(BundledResources.ENDPOINTS_FILE)!!</ID>

core/tst/software/aws/toolkits/core/parser/EndpointsJsonValidatorTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class EndpointsJsonValidatorTest {
1414
assertThat(EndpointsJsonValidator.canBeParsed(it)).isTrue
1515
}
1616
}
17+
1718
@Test
1819
fun `endpoints json file parsing fails`() {
1920
EndpointsJsonValidatorTest::class.java.getResourceAsStream("/jsonSampleFailure.json").use {

core/tst/software/aws/toolkits/core/parser/LambdaManifestValidatorTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class LambdaManifestValidatorTest {
1515
assertThat(LambdaManifestValidator.canBeParsed(it)).isTrue
1616
}
1717
}
18+
1819
@Test
1920
fun `manifest xml file parsing fails`() {
2021
LambdaManifestValidatorTest::class.java.getResourceAsStream("/xmlSampleFailure.xml").use {

core/tst/software/aws/toolkits/core/parser/LambdaSampleEventJsonValidatorTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class LambdaSampleEventJsonValidatorTest {
1313
assertThat(LambdaSampleEventJsonValidator.canBeParsed(it)).isTrue
1414
}
1515
}
16+
1617
@Test
1718
fun `lambda sample event json file parsing fails`() {
1819
LambdaSampleEventJsonValidatorTest::class.java.getResourceAsStream("/jsonSampleFailure.json").use {

core/tst/software/aws/toolkits/core/rules/EnvironmentVariableHelper.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import java.security.PrivilegedAction
1414
class EnvironmentVariableHelper : ExternalResource() {
1515
private val originalEnvironmentVariables = System.getenv().toMap()
1616
private val modifiableMap = getProcessEnvMap() ?: getEnvMap()
17+
1718
@Volatile
1819
private var mutated = false
1920

core/tst/software/aws/toolkits/core/utils/RemoteResourceResolverTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class RemoteResourceResolverTest {
6969
assertThat(secondCall).hasContent("data2")
7070
verify(urlFetcher, times(2)).fetch(eq(PRIMARY_URL), any())
7171
}
72+
7273
@Test
7374
fun downloadedParseFailedSkippedMove() {
7475
val urlFetcher = mock<UrlFetcher> {

detekt-rules/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@ dependencies {
2020
tasks.test {
2121
useJUnitPlatform()
2222
}
23+
24+
tasks.jar {
25+
duplicatesStrategy = DuplicatesStrategy.WARN
26+
}

0 commit comments

Comments
 (0)