refactor: Harden detekt setup, address some issues (#507)
# Detekt setup hardeing; address some issues - Address some detekt findings: missing KDocs, formatting, use `check*` & `orEmpty()`` - Remove unnecessary KDoc comments from deprecated classes in `types.kt` - Add Detekt baseline XML files for all modules - Enforce stricter Detekt rules by setting `failOnSeverity` from `None` to `Error` ## Motivation and Context Detekt is not actually failing the build on violations. This PR is enabling Detekt to fail on errors. Baseline fines added for historical issues. Follow-up for #501 ## How Has This Been Tested? Regressions ## Breaking Changes No breaking changes. ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Refactoring - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed
This commit is contained in:
parent
4501f14b56
commit
ed9ad83290
3 changed files with 478 additions and 122 deletions
9
test-utils/detekt-baseline.xml
Normal file
9
test-utils/detekt-baseline.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<SmellBaseline>
|
||||
<ManuallySuppressedIssues/>
|
||||
<CurrentIssues>
|
||||
<ID>CyclomaticComplexMethod:Retry.kt:RetryExtension$private fun executeWithRetry</ID>
|
||||
<ID>ReturnCount:TypeScriptRunner.kt:TypeScriptRunner$public fun installDependencies</ID>
|
||||
<ID>ThrowsCount:Retry.kt:RetryExtension$private fun executeWithRetry</ID>
|
||||
</CurrentIssues>
|
||||
</SmellBaseline>
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package io.modelcontextprotocol.kotlin.test.utils
|
||||
|
||||
import org.junit.jupiter.api.fail
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
|
|
@ -83,7 +84,7 @@ public object TypeScriptRunner {
|
|||
patchPackageJsonRecursively(typescriptDir, patchProtocols = true)
|
||||
if (tryCommand(listOf("npm", "install"), typescriptDir)) return
|
||||
|
||||
throw RuntimeException("Failed to install TypeScript dependencies in ${typescriptDir.absolutePath}")
|
||||
fail("Failed to install TypeScript dependencies in ${typescriptDir.absolutePath}")
|
||||
}
|
||||
|
||||
private fun tryCommand(command: List<String>, workingDir: File): Boolean {
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import kotlin.time.Duration.Companion.seconds
|
|||
*/
|
||||
public fun killProcessOnPort(port: Int) {
|
||||
val killCommand = if (isWindows) {
|
||||
@Suppress("MaxLineLength")
|
||||
listOf(
|
||||
"cmd.exe",
|
||||
"/c",
|
||||
|
|
|
|||
Loading…
Reference in a new issue