Compare commits
226 changed files with 2536 additions and 15910 deletions
|
|
@ -5,62 +5,40 @@ description: "Add KDoc documentation to Kotlin public API. Use whenever the user
|
||||||
|
|
||||||
# KDoc Generator
|
# KDoc Generator
|
||||||
|
|
||||||
Add KDoc to all public Kotlin declarations (classes, interfaces, objects, functions, properties, enums, type aliases, annotations — including `@Deprecated`). Read the implementation, not just the signature, to write accurate descriptions.
|
Add KDoc comments to public Kotlin API declarations.
|
||||||
|
|
||||||
## Tag placement
|
## What to document
|
||||||
|
|
||||||
| Where the declaration lives | Tag |
|
All public declarations (no explicit `private`/`internal`/`protected`):
|
||||||
|---|---|
|
- Classes, interfaces, objects, sealed classes/interfaces
|
||||||
| Primary-ctor `val` / `var` (public, internal, or protected) | `@property` in class KDoc |
|
- Functions, extension functions
|
||||||
| Primary-ctor `name: Type` (no `val`/`var`) | `@param` in class KDoc |
|
- Properties
|
||||||
| Primary-ctor `private val` / `private var` | `@param` in class KDoc |
|
- Enum classes and entries
|
||||||
| Body of class/object/interface/sealed interface | inline `/** */` above the declaration |
|
- Type aliases, annotation classes
|
||||||
| Function parameter | `@param` |
|
|
||||||
| Non-Unit return type | `@return` |
|
|
||||||
|
|
||||||
## Style
|
Include `@Deprecated` elements.
|
||||||
|
|
||||||
- Summary: one concise sentence, third-person verb ("Creates", "Returns", "Represents"). Expand to 2-3 sentences only when genuinely complex.
|
## Context
|
||||||
- **Example block**: mandatory for DSL builders (show full receiver-scope usage); add for complex functions or non-obvious extension functions; skip for one-liners and simple getters.
|
|
||||||
- KDoc links (`[ClassName]`, `[methodName]`) only where they add navigational value.
|
|
||||||
- Don't write `@throws` or "suspend" notes.
|
|
||||||
- Rewrite existing KDoc if incomplete or low quality.
|
|
||||||
|
|
||||||
## Examples
|
Read the implementation, not just the signature, to write accurate descriptions. Understanding what the code actually does prevents superficial or misleading documentation.
|
||||||
|
|
||||||
**Class with mixed primary-constructor parameters:**
|
## KDoc format
|
||||||
|
|
||||||
|
**Class/interface example:**
|
||||||
|
|
||||||
````kotlin
|
````kotlin
|
||||||
/**
|
/**
|
||||||
* Manages active client sessions and their lifecycle.
|
* Manages active client sessions and their lifecycle.
|
||||||
*
|
*
|
||||||
|
* Sessions are created on first connection and cleaned up
|
||||||
|
* when the transport closes.
|
||||||
|
*
|
||||||
* @property maxSessions upper limit on concurrent sessions
|
* @property maxSessions upper limit on concurrent sessions
|
||||||
* @param scope coroutine scope for session lifecycle tasks
|
* @property timeout idle timeout before a session is evicted
|
||||||
* @param secret used internally for session token signing
|
|
||||||
*/
|
*/
|
||||||
public class SessionManager(
|
|
||||||
public val maxSessions: Int, // public val → @property
|
|
||||||
scope: CoroutineScope, // no val/var → @param
|
|
||||||
private val secret: ByteArray, // private val → @param
|
|
||||||
)
|
|
||||||
````
|
````
|
||||||
|
|
||||||
**Body and interface properties (inline `/** */`):**
|
**Function example:**
|
||||||
|
|
||||||
````kotlin
|
|
||||||
/** Represents an entity that includes additional metadata. */
|
|
||||||
public interface WithMeta {
|
|
||||||
/** Optional metadata attached to this entity. */
|
|
||||||
public val meta: JsonObject?
|
|
||||||
}
|
|
||||||
|
|
||||||
public class Connection(public val id: String) {
|
|
||||||
/** Capabilities negotiated during the handshake, or `null` before initialize completes. */
|
|
||||||
public val capabilities: ServerCapabilities? get() = ...
|
|
||||||
}
|
|
||||||
````
|
|
||||||
|
|
||||||
**Function with Example block:**
|
|
||||||
|
|
||||||
````kotlin
|
````kotlin
|
||||||
/**
|
/**
|
||||||
|
|
@ -68,7 +46,10 @@ public class Connection(public val id: String) {
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* ```kotlin
|
* ```kotlin
|
||||||
* server.addTool(name = "echo", description = "Echoes input back") { request ->
|
* server.addTool(
|
||||||
|
* name = "echo",
|
||||||
|
* description = "Echoes input back",
|
||||||
|
* ) { request ->
|
||||||
* CallToolResult(content = listOf(TextContent("Echo: ${request.arguments}")))
|
* CallToolResult(content = listOf(TextContent("Echo: ${request.arguments}")))
|
||||||
* }
|
* }
|
||||||
* ```
|
* ```
|
||||||
|
|
@ -79,3 +60,15 @@ public class Connection(public val id: String) {
|
||||||
* @return the registered tool definition
|
* @return the registered tool definition
|
||||||
*/
|
*/
|
||||||
````
|
````
|
||||||
|
|
||||||
|
## Rules
|
||||||
|
|
||||||
|
- Summary: concise first sentence starting with a third-person verb ("Creates", "Returns", "Represents"). Expand to 2-3 sentences only when genuinely complex
|
||||||
|
- **@property** in class-level KDoc for all public properties (never as individual KDoc on the property); **@param** for function parameters
|
||||||
|
- **@return** for non-Unit return types
|
||||||
|
- **Example block**: add for DSL builders, complex functions, extension functions with non-obvious usage. Skip for trivial one-liners and simple getters
|
||||||
|
- **DSL builders**: always include an Example showing full usage with the receiver scope — this is critical for discoverability
|
||||||
|
- KDoc links (`[ClassName]`, `[methodName]`): only where it adds clear navigational value
|
||||||
|
- No **@throws** — don't document exceptions
|
||||||
|
- No **suspend** notes — coroutine nature is visible from the signature
|
||||||
|
- **Existing KDoc**: rewrite if incomplete (missing @param/@return/@property) or low quality
|
||||||
8
.github/workflows/apidocs.yaml
vendored
8
.github/workflows/apidocs.yaml
vendored
|
|
@ -24,24 +24,24 @@ jobs:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
cache: gradle
|
cache: gradle
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
|
|
||||||
- name: Generate Dokka Site
|
- name: Generate Dokka Site
|
||||||
run: |-
|
run: |-
|
||||||
./gradlew knit docs:classes docs:knitCheck dokkaGenerate
|
./gradlew knit docs:classes docs:knitCheck dokkaGenerate
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-pages-artifact@v5
|
uses: actions/upload-pages-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: build/dokka/html
|
path: build/dokka/html
|
||||||
|
|
||||||
|
|
|
||||||
4
.github/workflows/automations.yml
vendored
4
.github/workflows/automations.yml
vendored
|
|
@ -27,7 +27,7 @@ jobs:
|
||||||
name: Mark/unmark stale PRs and issues
|
name: Mark/unmark stale PRs and issues
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v11
|
- uses: actions/stale@v10
|
||||||
with:
|
with:
|
||||||
debug-only: ${{ env.DRY_RUN }}
|
debug-only: ${{ env.DRY_RUN }}
|
||||||
exempt-draft-pr: true
|
exempt-draft-pr: true
|
||||||
|
|
@ -66,7 +66,7 @@ jobs:
|
||||||
name: Close stale PRs and issues
|
name: Close stale PRs and issues
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v11
|
- uses: actions/stale@v10
|
||||||
with:
|
with:
|
||||||
debug-only: ${{ env.DRY_RUN }}
|
debug-only: ${{ env.DRY_RUN }}
|
||||||
only-labels: 'stale'
|
only-labels: 'stale'
|
||||||
|
|
|
||||||
38
.github/workflows/build.yml
vendored
38
.github/workflows/build.yml
vendored
|
|
@ -34,7 +34,7 @@ jobs:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
job-name: "Linux Tests"
|
job-name: "Linux Tests"
|
||||||
gradle-tasks: "build"
|
gradle-tasks: "ktlintCheck build"
|
||||||
max-workers: 3
|
max-workers: 3
|
||||||
|
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
|
|
@ -43,17 +43,17 @@ jobs:
|
||||||
max-workers: 2
|
max-workers: 2
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest'
|
||||||
uses: actions/setup-node@v7
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
node-version: '22' # increase only after https://github.com/nodejs/node/issues/56645 will be fixed
|
node-version: '22' # increase only after https://github.com/nodejs/node/issues/56645 will be fixed
|
||||||
|
|
||||||
|
|
@ -63,7 +63,7 @@ jobs:
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
validate-wrappers: true
|
validate-wrappers: true
|
||||||
add-job-summary: 'always'
|
add-job-summary: 'always'
|
||||||
|
|
@ -104,6 +104,22 @@ jobs:
|
||||||
report_paths: '**/test-results/**/TEST-*.xml'
|
report_paths: '**/test-results/**/TEST-*.xml'
|
||||||
truncate_stack_traces: false
|
truncate_stack_traces: false
|
||||||
|
|
||||||
|
- name: Upload coverage reports to Codecov
|
||||||
|
if: ${{ !cancelled() && matrix.os == 'ubuntu-latest' }}
|
||||||
|
uses: codecov/codecov-action@v6
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
report_type: coverage
|
||||||
|
directory: ./build/reports/kover
|
||||||
|
files: report.xml
|
||||||
|
|
||||||
|
- name: Upload test results to Codecov
|
||||||
|
if: ${{ !cancelled() && matrix.os == 'ubuntu-latest' }}
|
||||||
|
uses: codecov/codecov-action@v6
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
report_type: test_results
|
||||||
|
|
||||||
|
|
||||||
- name: Archive Maven Local Repository
|
- name: Archive Maven Local Repository
|
||||||
if: ${{ success() && matrix.os == 'ubuntu-latest' }}
|
if: ${{ success() && matrix.os == 'ubuntu-latest' }}
|
||||||
|
|
@ -126,16 +142,16 @@ jobs:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
validate-wrappers: true
|
validate-wrappers: true
|
||||||
add-job-summary: 'always'
|
add-job-summary: 'always'
|
||||||
|
|
@ -168,16 +184,16 @@ jobs:
|
||||||
name: "Build Sample: ${{ matrix.sample }}"
|
name: "Build Sample: ${{ matrix.sample }}"
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
add-job-summary: 'always'
|
add-job-summary: 'always'
|
||||||
cache-read-only: true
|
cache-read-only: true
|
||||||
|
|
|
||||||
10
.github/workflows/codeql.yml
vendored
10
.github/workflows/codeql.yml
vendored
|
|
@ -25,22 +25,22 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v4.38.0
|
uses: github/codeql-action/init@v4
|
||||||
with:
|
with:
|
||||||
languages: java-kotlin
|
languages: java-kotlin
|
||||||
build-mode: manual
|
build-mode: manual
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
validate-wrappers: true
|
validate-wrappers: true
|
||||||
cache-read-only: true
|
cache-read-only: true
|
||||||
|
|
@ -52,6 +52,6 @@ jobs:
|
||||||
--no-daemon --rerun-tasks --stacktrace
|
--no-daemon --rerun-tasks --stacktrace
|
||||||
|
|
||||||
- name: Analyze
|
- name: Analyze
|
||||||
uses: github/codeql-action/analyze@v4.38.0
|
uses: github/codeql-action/analyze@v4
|
||||||
with:
|
with:
|
||||||
category: '/language:java-kotlin'
|
category: '/language:java-kotlin'
|
||||||
|
|
|
||||||
24
.github/workflows/conformance.yml
vendored
24
.github/workflows/conformance.yml
vendored
|
|
@ -25,16 +25,16 @@ jobs:
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK
|
- name: Set up JDK
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
|
||||||
|
|
@ -76,16 +76,16 @@ jobs:
|
||||||
- sse-retry
|
- sse-retry
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK
|
- name: Set up JDK
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
|
||||||
|
|
@ -107,16 +107,16 @@ jobs:
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK
|
- name: Set up JDK
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
|
||||||
|
|
@ -146,16 +146,16 @@ jobs:
|
||||||
- auth/cross-app-access-complete-flow
|
- auth/cross-app-access-complete-flow
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK
|
- name: Set up JDK
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
|
||||||
|
|
||||||
|
|
|
||||||
2
.github/workflows/dependabot-auto-merge.yml
vendored
2
.github/workflows/dependabot-auto-merge.yml
vendored
|
|
@ -11,7 +11,7 @@ jobs:
|
||||||
if: github.actor == 'dependabot[bot]'
|
if: github.actor == 'dependabot[bot]'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dependabot/fetch-metadata@v3
|
- uses: dependabot/fetch-metadata@v2
|
||||||
id: metadata
|
id: metadata
|
||||||
|
|
||||||
- if: >-
|
- if: >-
|
||||||
|
|
|
||||||
15
.github/workflows/gradle-publish.yml
vendored
15
.github/workflows/gradle-publish.yml
vendored
|
|
@ -17,23 +17,18 @@ jobs:
|
||||||
packages: write
|
packages: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
- name: Set up JDK 21
|
- name: Set up JDK 21
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v7
|
|
||||||
with:
|
|
||||||
node-version: '22' # increase only after https://github.com/nodejs/node/issues/56645 will be fixed
|
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
|
|
||||||
- name: Check
|
- name: Build
|
||||||
run: ./gradlew check --no-configuration-cache
|
run: ./gradlew build --rerun-tasks --max-workers 2 --continue
|
||||||
|
|
||||||
- name: Publish to Maven Central Portal
|
- name: Publish to Maven Central Portal
|
||||||
id: publish
|
id: publish
|
||||||
|
|
|
||||||
6
.github/workflows/samples.yml
vendored
6
.github/workflows/samples.yml
vendored
|
|
@ -36,16 +36,16 @@ jobs:
|
||||||
name: Build Sample (${{ matrix.sample }})
|
name: Build Sample (${{ matrix.sample }})
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
- name: Set up JDK ${{ env.JAVA_VERSION }}
|
||||||
uses: actions/setup-java@v6
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
distribution: ${{ env.JAVA_DISTRIBUTION }}
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@v6.3.0
|
uses: gradle/actions/setup-gradle@v6
|
||||||
with:
|
with:
|
||||||
validate-wrappers: true
|
validate-wrappers: true
|
||||||
add-job-summary: 'always'
|
add-job-summary: 'always'
|
||||||
|
|
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -56,7 +56,7 @@ node_modules
|
||||||
dist
|
dist
|
||||||
|
|
||||||
### SWE agents ###
|
### SWE agents ###
|
||||||
.claude/
|
.claude/settings.local.json
|
||||||
.junie/
|
.junie/
|
||||||
|
|
||||||
### Conformance test results ###
|
### Conformance test results ###
|
||||||
|
|
|
||||||
9
.idea/detekt.xml
generated
Normal file
9
.idea/detekt.xml
generated
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DetektPluginSettings">
|
||||||
|
<option name="enableDetekt" value="true" />
|
||||||
|
<option name="enableForProjectResult" value="Accepted" />
|
||||||
|
<option name="redirectChannels" value="true" />
|
||||||
|
<option name="treatAsErrors" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
7
.idea/externalDependencies.xml
generated
Normal file
7
.idea/externalDependencies.xml
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalDependencies">
|
||||||
|
<plugin id="detekt" />
|
||||||
|
<plugin id="com.nbadal.ktlint" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
7
.idea/ktlint-plugin.xml
generated
Normal file
7
.idea/ktlint-plugin.xml
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="com.nbadal.ktlint.KtlintProjectSettings">
|
||||||
|
<ktlintMode>DISTRACT_FREE</ktlintMode>
|
||||||
|
<ktlintRulesetVersion>DEFAULT</ktlintRulesetVersion>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -729,7 +729,7 @@ val client = Client(
|
||||||
)
|
)
|
||||||
|
|
||||||
client.setRequestHandler<CreateMessageRequest>(Method.Defined.SamplingCreateMessage) { request, _ ->
|
client.setRequestHandler<CreateMessageRequest>(Method.Defined.SamplingCreateMessage) { request, _ ->
|
||||||
val content = request.messages.lastOrNull()?.content?.firstOrNull()
|
val content = request.messages.lastOrNull()?.content
|
||||||
val prompt = if (content is TextContent) content.text else "your topic"
|
val prompt = if (content is TextContent) content.text else "your topic"
|
||||||
CreateMessageResult(
|
CreateMessageResult(
|
||||||
model = "gpt-4o-mini",
|
model = "gpt-4o-mini",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
|
import dev.detekt.gradle.extensions.FailOnSeverity
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("mcp.dokka")
|
id("mcp.dokka")
|
||||||
|
alias(libs.plugins.detekt)
|
||||||
alias(libs.plugins.ktlint)
|
alias(libs.plugins.ktlint)
|
||||||
alias(libs.plugins.kover)
|
alias(libs.plugins.kover)
|
||||||
}
|
}
|
||||||
|
|
@ -20,6 +23,16 @@ dependencies {
|
||||||
subprojects {
|
subprojects {
|
||||||
apply(plugin = "org.jlleitschuh.gradle.ktlint")
|
apply(plugin = "org.jlleitschuh.gradle.ktlint")
|
||||||
apply(plugin = "org.jetbrains.kotlinx.kover")
|
apply(plugin = "org.jetbrains.kotlinx.kover")
|
||||||
|
|
||||||
|
if (name != "conformance-test" && name != "docs") {
|
||||||
|
apply(plugin = "dev.detekt")
|
||||||
|
|
||||||
|
detekt {
|
||||||
|
config = files("$rootDir/config/detekt/detekt.yml")
|
||||||
|
buildUponDefaultConfig = true
|
||||||
|
failOnSeverity.set(FailOnSeverity.Error)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dokka {
|
dokka {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.detekt.gradle)
|
|
||||||
implementation(libs.kotlin.gradle)
|
implementation(libs.kotlin.gradle)
|
||||||
implementation(libs.kotlin.serialization)
|
implementation(libs.kotlin.serialization)
|
||||||
implementation(libs.kotlinx.atomicfu.gradle)
|
implementation(libs.kotlinx.atomicfu.gradle)
|
||||||
|
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
import dev.detekt.gradle.Detekt
|
|
||||||
import dev.detekt.gradle.extensions.FailOnSeverity
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id("dev.detekt")
|
|
||||||
}
|
|
||||||
|
|
||||||
detekt {
|
|
||||||
config = files("$rootDir/config/detekt/detekt.yml")
|
|
||||||
buildUponDefaultConfig = false
|
|
||||||
parallel = true
|
|
||||||
failOnSeverity = FailOnSeverity.Error
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.withType<Detekt>().configureEach {
|
|
||||||
exclude("**/generated/**", "**/generated-sources/**", "**/build/**")
|
|
||||||
}
|
|
||||||
|
|
||||||
pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") {
|
|
||||||
tasks.named("detekt").configure {
|
|
||||||
dependsOn("detektMainJvm")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -45,6 +45,11 @@ kotlin {
|
||||||
events("failed")
|
events("failed")
|
||||||
}
|
}
|
||||||
systemProperty("kotest.output.ansi", "true")
|
systemProperty("kotest.output.ansi", "true")
|
||||||
|
reports {
|
||||||
|
junitXml.required.set(true)
|
||||||
|
junitXml.includeSystemOutLog.set(true)
|
||||||
|
junitXml.includeSystemErrLog.set(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
macosArm64()
|
macosArm64()
|
||||||
|
|
@ -57,3 +62,12 @@ kotlin {
|
||||||
explicitApi = ExplicitApiMode.Strict
|
explicitApi = ExplicitApiMode.Strict
|
||||||
jvmToolchain(21)
|
jvmToolchain(21)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.named("detekt").configure {
|
||||||
|
dependsOn(
|
||||||
|
"detektMainJvm",
|
||||||
|
"detektCommonMainSourceSet",
|
||||||
|
"detektTestJvm",
|
||||||
|
"detektCommonTestSourceSet",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
|
||||||
51
codecov.yml
Normal file
51
codecov.yml
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
# Codecov configuration for Mokksy and AI-Mocks
|
||||||
|
# https://docs.codecov.com/docs/codecov-yaml
|
||||||
|
|
||||||
|
codecov:
|
||||||
|
require_ci_to_pass: yes
|
||||||
|
|
||||||
|
coverage:
|
||||||
|
precision: 2
|
||||||
|
round: down
|
||||||
|
status:
|
||||||
|
project:
|
||||||
|
default:
|
||||||
|
target: auto
|
||||||
|
threshold: 1%
|
||||||
|
patch:
|
||||||
|
default:
|
||||||
|
target: auto
|
||||||
|
threshold: 1%
|
||||||
|
|
||||||
|
comment:
|
||||||
|
layout: "header, diff, flags, components"
|
||||||
|
behavior: default
|
||||||
|
require_changes: true
|
||||||
|
|
||||||
|
component_management:
|
||||||
|
default_rules:
|
||||||
|
statuses:
|
||||||
|
- type: project
|
||||||
|
target: auto
|
||||||
|
individual_components:
|
||||||
|
|
||||||
|
- component_id: kotlin-sdk-core
|
||||||
|
name: SDK Core
|
||||||
|
paths:
|
||||||
|
- kotlin-sdk-core/**
|
||||||
|
|
||||||
|
- component_id: kotlin-sdk-client
|
||||||
|
name: SDK Client
|
||||||
|
paths:
|
||||||
|
- kotlin-sdk-client/**
|
||||||
|
|
||||||
|
- component_id: kotlin-sdk-server
|
||||||
|
name: SDK Server
|
||||||
|
paths:
|
||||||
|
- kotlin-sdk-server/**
|
||||||
|
|
||||||
|
- component_id: kotlin-sdk-testing
|
||||||
|
name: SDK Testing
|
||||||
|
paths:
|
||||||
|
- kotlin-sdk-testing/**
|
||||||
|
|
||||||
|
|
@ -3,839 +3,41 @@ config:
|
||||||
warningsAsErrors: false
|
warningsAsErrors: false
|
||||||
checkExhaustiveness: false
|
checkExhaustiveness: false
|
||||||
|
|
||||||
processors:
|
|
||||||
active: false
|
|
||||||
|
|
||||||
console-reports:
|
|
||||||
active: true
|
|
||||||
exclude:
|
|
||||||
- 'ProjectStatisticsReport'
|
|
||||||
- 'ComplexityReport'
|
|
||||||
- 'NotificationReport'
|
|
||||||
- 'IssuesReport'
|
|
||||||
- 'FileBasedIssuesReport'
|
|
||||||
# - 'LiteIssuesReport'
|
|
||||||
|
|
||||||
comments:
|
|
||||||
active: true
|
|
||||||
AbsentOrWrongFileLicense:
|
|
||||||
active: false
|
|
||||||
licenseTemplateIsRegex: false
|
|
||||||
licenseTemplate: ''
|
|
||||||
DeprecatedBlockTag:
|
|
||||||
active: true
|
|
||||||
DocumentationOverPrivateFunction:
|
|
||||||
active: false
|
|
||||||
DocumentationOverPrivateProperty:
|
|
||||||
active: false
|
|
||||||
EndOfSentenceFormat:
|
|
||||||
active: false
|
|
||||||
endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
|
|
||||||
KDocReferencesNonPublicProperty:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
OutdatedDocumentation:
|
|
||||||
active: false
|
|
||||||
matchTypeParameters: true
|
|
||||||
matchDeclarationsOrder: true
|
|
||||||
allowParamOnConstructorProperties: false
|
|
||||||
UndocumentedPublicClass:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
searchInNestedClass: true
|
|
||||||
searchInInnerClass: true
|
|
||||||
searchInInnerObject: true
|
|
||||||
searchInInnerInterface: true
|
|
||||||
searchInProtectedClass: false
|
|
||||||
ignoreDefaultCompanionObject: true
|
|
||||||
UndocumentedPublicFunction:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
searchProtectedFunction: false
|
|
||||||
UndocumentedPublicProperty:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
searchProtectedProperty: false
|
|
||||||
ignoreEnumEntries: false
|
|
||||||
|
|
||||||
complexity:
|
complexity:
|
||||||
active: true
|
|
||||||
CognitiveComplexMethod:
|
|
||||||
active: false
|
|
||||||
allowedComplexity: 20
|
|
||||||
ComplexCondition:
|
|
||||||
active: true
|
|
||||||
allowedConditions: 4
|
|
||||||
ComplexInterface:
|
|
||||||
active: false
|
|
||||||
allowedDefinitions: 10
|
|
||||||
includeStaticDeclarations: false
|
|
||||||
includePrivateDeclarations: false
|
|
||||||
ignoreOverloaded: false
|
|
||||||
CyclomaticComplexMethod:
|
|
||||||
active: false
|
|
||||||
allowedComplexity: 15
|
|
||||||
ignoreSingleWhenExpression: false
|
|
||||||
ignoreSimpleWhenEntries: false
|
|
||||||
ignoreNestingFunctions: false
|
|
||||||
ignoreLocalFunctions: false
|
|
||||||
nestingFunctions:
|
|
||||||
- 'also'
|
|
||||||
- 'apply'
|
|
||||||
- 'forEach'
|
|
||||||
- 'isNotNull'
|
|
||||||
- 'ifNull'
|
|
||||||
- 'let'
|
|
||||||
- 'run'
|
|
||||||
- 'use'
|
|
||||||
- 'with'
|
|
||||||
LabeledExpression:
|
|
||||||
active: false
|
|
||||||
ignoredLabels: []
|
|
||||||
LargeClass:
|
LargeClass:
|
||||||
active: false
|
excludes: &testFolders
|
||||||
allowedLines: 700
|
- '**/test/**'
|
||||||
|
- '**/commonTest/**'
|
||||||
|
- '**/jvmTest/**'
|
||||||
|
- '**/jsTest/**'
|
||||||
|
- '**/iosTest/**'
|
||||||
LongMethod:
|
LongMethod:
|
||||||
active: false
|
excludes: *testFolders
|
||||||
allowedLines: 110
|
|
||||||
LongParameterList:
|
|
||||||
active: false
|
|
||||||
allowedFunctionParameters: 8
|
|
||||||
allowedConstructorParameters: 8
|
|
||||||
ignoreDefaultParameters: false
|
|
||||||
ignoreDataClasses: true
|
|
||||||
ignoreAnnotatedParameter: []
|
|
||||||
MethodOverloading:
|
|
||||||
active: false
|
|
||||||
allowedOverloads: 6
|
|
||||||
NamedArguments:
|
|
||||||
active: false
|
|
||||||
allowedArguments: 3
|
|
||||||
ignoreMethods: []
|
|
||||||
ignoreArgumentsMatchingNames: false
|
|
||||||
NestedBlockDepth:
|
|
||||||
active: true
|
|
||||||
allowedDepth: 4
|
|
||||||
NestedScopeFunctions:
|
|
||||||
active: false
|
|
||||||
allowedDepth: 1
|
|
||||||
functions:
|
|
||||||
- 'kotlin.apply'
|
|
||||||
- 'kotlin.run'
|
|
||||||
- 'kotlin.with'
|
|
||||||
- 'kotlin.let'
|
|
||||||
- 'kotlin.also'
|
|
||||||
ReplaceSafeCallChainWithRun:
|
|
||||||
active: false
|
|
||||||
StringLiteralDuplication:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
allowedDuplications: 3
|
|
||||||
ignoreAnnotation: true
|
|
||||||
allowedWithLengthLessThan: 5
|
|
||||||
ignoreStringsRegex: '$^'
|
|
||||||
TooManyFunctions:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
allowedFunctionsPerFile: 20
|
|
||||||
allowedFunctionsPerClass: 20
|
|
||||||
allowedFunctionsPerInterface: 20
|
|
||||||
allowedFunctionsPerObject: 20
|
|
||||||
allowedFunctionsPerEnum: 11
|
|
||||||
ignoreDeprecated: true
|
|
||||||
ignorePrivate: true
|
|
||||||
ignoreInternal: true
|
|
||||||
ignoreOverridden: false
|
|
||||||
ignoreAnnotatedFunctions: []
|
|
||||||
|
|
||||||
coroutines:
|
coroutines:
|
||||||
active: true
|
|
||||||
CoroutineLaunchedInTestWithoutRunTest:
|
|
||||||
active: false
|
|
||||||
GlobalCoroutineUsage:
|
|
||||||
active: true
|
|
||||||
InjectDispatcher:
|
InjectDispatcher:
|
||||||
active: false
|
excludes: *testFolders
|
||||||
dispatcherNames:
|
|
||||||
- 'IO'
|
|
||||||
- 'Default'
|
|
||||||
- 'Unconfined'
|
|
||||||
RedundantSuspendModifier:
|
|
||||||
active: true
|
|
||||||
SleepInsteadOfDelay:
|
|
||||||
active: true
|
|
||||||
SuspendFunInFinallySection:
|
|
||||||
active: false
|
|
||||||
SuspendFunSwallowedCancellation:
|
|
||||||
active: false
|
|
||||||
SuspendFunWithCoroutineScopeReceiver:
|
|
||||||
active: false
|
|
||||||
aliases: ['SuspendFunctionOnCoroutineScope']
|
|
||||||
SuspendFunWithFlowReturnType:
|
|
||||||
active: true
|
|
||||||
|
|
||||||
empty-blocks:
|
empty-blocks:
|
||||||
active: true
|
|
||||||
EmptyCatchBlock:
|
|
||||||
active: true
|
|
||||||
allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
||||||
EmptyClassBlock:
|
|
||||||
active: true
|
|
||||||
EmptyDefaultConstructor:
|
|
||||||
active: true
|
|
||||||
EmptyDoWhileBlock:
|
|
||||||
active: true
|
|
||||||
EmptyElseBlock:
|
|
||||||
active: true
|
|
||||||
EmptyFinallyBlock:
|
|
||||||
active: true
|
|
||||||
EmptyForBlock:
|
|
||||||
active: true
|
|
||||||
EmptyFunctionBlock:
|
EmptyFunctionBlock:
|
||||||
active: true
|
excludes: *testFolders
|
||||||
ignoreOverridden: false
|
|
||||||
EmptyIfBlock:
|
|
||||||
active: true
|
|
||||||
EmptyInitBlock:
|
|
||||||
active: true
|
|
||||||
EmptyKotlinFile:
|
|
||||||
active: true
|
|
||||||
EmptySecondaryConstructor:
|
|
||||||
active: true
|
|
||||||
EmptyTryBlock:
|
|
||||||
active: true
|
|
||||||
EmptyWhenBlock:
|
|
||||||
active: true
|
|
||||||
EmptyWhileBlock:
|
|
||||||
active: true
|
|
||||||
|
|
||||||
exceptions:
|
comments:
|
||||||
active: true
|
UndocumentedPublicClass:
|
||||||
ErrorUsageWithThrowable:
|
active: true
|
||||||
active: false
|
excludes: &testAndGeneratedFolders
|
||||||
ExceptionRaisedInUnexpectedLocation:
|
- '**/test/**'
|
||||||
active: true
|
- '**/commonTest/**'
|
||||||
methodNames:
|
- '**/jvmTest/**'
|
||||||
- 'equals'
|
- '**/jsTest/**'
|
||||||
- 'finalize'
|
- '**/iosTest/**'
|
||||||
- 'hashCode'
|
- '**/generated-sources/**'
|
||||||
- 'toString'
|
ignoreDefaultCompanionObject: true
|
||||||
InstanceOfCheckForException:
|
UndocumentedPublicFunction:
|
||||||
active: false
|
active: true
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
excludes: *testAndGeneratedFolders
|
||||||
NotImplementedDeclaration:
|
UndocumentedPublicProperty:
|
||||||
active: true
|
active: true
|
||||||
ObjectExtendsThrowable:
|
excludes: *testAndGeneratedFolders
|
||||||
active: true
|
searchProtectedProperty: false
|
||||||
PrintStackTrace:
|
ignoreEnumEntries: true
|
||||||
active: true
|
|
||||||
RethrowCaughtException:
|
|
||||||
active: true
|
|
||||||
ReturnFromFinally:
|
|
||||||
active: true
|
|
||||||
ignoreLabeled: false
|
|
||||||
SwallowedException:
|
|
||||||
active: true
|
|
||||||
ignoredExceptionTypes:
|
|
||||||
- 'InterruptedException'
|
|
||||||
- 'MalformedURLException'
|
|
||||||
- 'NumberFormatException'
|
|
||||||
- 'ParseException'
|
|
||||||
allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
||||||
ThrowingExceptionFromFinally:
|
|
||||||
active: true
|
|
||||||
ThrowingExceptionInMain:
|
|
||||||
active: false
|
|
||||||
ThrowingExceptionsWithoutMessageOrCause:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
exceptions:
|
|
||||||
- 'ArrayIndexOutOfBoundsException'
|
|
||||||
- 'Exception'
|
|
||||||
- 'IllegalArgumentException'
|
|
||||||
- 'IllegalMonitorStateException'
|
|
||||||
- 'IllegalStateException'
|
|
||||||
- 'IndexOutOfBoundsException'
|
|
||||||
- 'NullPointerException'
|
|
||||||
- 'RuntimeException'
|
|
||||||
- 'Throwable'
|
|
||||||
ThrowingNewInstanceOfSameException:
|
|
||||||
active: true
|
|
||||||
TooGenericExceptionCaught:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
exceptionNames:
|
|
||||||
- 'ArrayIndexOutOfBoundsException'
|
|
||||||
- 'Error'
|
|
||||||
- 'Exception'
|
|
||||||
- 'IllegalMonitorStateException'
|
|
||||||
- 'IndexOutOfBoundsException'
|
|
||||||
- 'NullPointerException'
|
|
||||||
- 'RuntimeException'
|
|
||||||
- 'Throwable'
|
|
||||||
allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
||||||
TooGenericExceptionThrown:
|
|
||||||
active: false
|
|
||||||
exceptionNames:
|
|
||||||
- 'Error'
|
|
||||||
- 'Exception'
|
|
||||||
- 'RuntimeException'
|
|
||||||
- 'Throwable'
|
|
||||||
|
|
||||||
naming:
|
|
||||||
active: true
|
|
||||||
BooleanPropertyNaming:
|
|
||||||
active: false
|
|
||||||
allowedPattern: '^(is|has|are)'
|
|
||||||
ClassNaming:
|
|
||||||
active: true
|
|
||||||
aliases: ['ClassName']
|
|
||||||
classPattern: '[A-Z][a-zA-Z0-9]*'
|
|
||||||
ConstructorParameterNaming:
|
|
||||||
active: true
|
|
||||||
parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
||||||
privateParameterPattern: '[a-z][A-Za-z0-9]*'
|
|
||||||
excludeClassPattern: '$^'
|
|
||||||
EnumNaming:
|
|
||||||
active: true
|
|
||||||
aliases: ['EnumEntryName']
|
|
||||||
enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
|
|
||||||
ForbiddenClassName:
|
|
||||||
active: false
|
|
||||||
forbiddenName: []
|
|
||||||
FunctionNameMaxLength:
|
|
||||||
active: false
|
|
||||||
aliases: ['FunctionMaxNameLength']
|
|
||||||
maximumFunctionNameLength: 30
|
|
||||||
FunctionNameMinLength:
|
|
||||||
active: false
|
|
||||||
aliases: ['FunctionMinNameLength']
|
|
||||||
minimumFunctionNameLength: 3
|
|
||||||
FunctionNaming:
|
|
||||||
active: true
|
|
||||||
aliases: ['FunctionName']
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
functionPattern: '[a-z][a-zA-Z0-9]*'
|
|
||||||
excludeClassPattern: '$^'
|
|
||||||
FunctionParameterNaming:
|
|
||||||
active: true
|
|
||||||
parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
||||||
excludeClassPattern: '$^'
|
|
||||||
InvalidPackageDeclaration:
|
|
||||||
active: true
|
|
||||||
aliases: ['PackageDirectoryMismatch']
|
|
||||||
rootPackage: ''
|
|
||||||
requireRootInDeclaration: false
|
|
||||||
LambdaParameterNaming:
|
|
||||||
active: false
|
|
||||||
parameterPattern: '[a-z][A-Za-z0-9]*|_'
|
|
||||||
MatchingDeclarationName:
|
|
||||||
active: false
|
|
||||||
mustBeFirst: true
|
|
||||||
multiplatformTargets:
|
|
||||||
- 'ios'
|
|
||||||
- 'android'
|
|
||||||
- 'js'
|
|
||||||
- 'jvm'
|
|
||||||
- 'native'
|
|
||||||
- 'iosArm64'
|
|
||||||
- 'iosX64'
|
|
||||||
- 'macosX64'
|
|
||||||
- 'mingwX64'
|
|
||||||
- 'linuxX64'
|
|
||||||
MemberNameEqualsClassName:
|
|
||||||
active: true
|
|
||||||
ignoreOverridden: true
|
|
||||||
NoNameShadowing:
|
|
||||||
active: true
|
|
||||||
NonBooleanPropertyPrefixedWithIs:
|
|
||||||
active: true
|
|
||||||
ObjectPropertyNaming:
|
|
||||||
active: true
|
|
||||||
aliases: ['ObjectPropertyName']
|
|
||||||
constantPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
||||||
propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
||||||
privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
|
|
||||||
PackageNaming:
|
|
||||||
active: true
|
|
||||||
aliases: ['PackageName']
|
|
||||||
packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
|
|
||||||
TopLevelPropertyNaming:
|
|
||||||
active: true
|
|
||||||
constantPattern: '[A-Z][_A-Z0-9]*'
|
|
||||||
propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
||||||
privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
|
|
||||||
VariableMaxLength:
|
|
||||||
active: false
|
|
||||||
maximumVariableNameLength: 64
|
|
||||||
VariableMinLength:
|
|
||||||
active: false
|
|
||||||
minimumVariableNameLength: 1
|
|
||||||
VariableNaming:
|
|
||||||
active: false
|
|
||||||
aliases: ['PropertyName']
|
|
||||||
variablePattern: '[a-z][A-Za-z0-9]*'
|
|
||||||
privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
|
|
||||||
excludeClassPattern: '$^'
|
|
||||||
|
|
||||||
performance:
|
|
||||||
active: true
|
|
||||||
ArrayPrimitive:
|
|
||||||
active: true
|
|
||||||
CouldBeSequence:
|
|
||||||
active: false
|
|
||||||
allowedOperations: 3
|
|
||||||
ForEachOnRange:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
SpreadOperator:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
UnnecessaryInitOnArray:
|
|
||||||
active: false
|
|
||||||
UnnecessaryPartOfBinaryExpression:
|
|
||||||
active: true
|
|
||||||
UnnecessaryTemporaryInstantiation:
|
|
||||||
active: true
|
|
||||||
UnnecessaryTypeCasting:
|
|
||||||
active: true
|
|
||||||
|
|
||||||
potential-bugs:
|
|
||||||
active: true
|
|
||||||
AvoidReferentialEquality:
|
|
||||||
active: true
|
|
||||||
forbiddenTypePatterns:
|
|
||||||
- 'kotlin.String'
|
|
||||||
CastNullableToNonNullableType:
|
|
||||||
active: true
|
|
||||||
ignorePlatformTypes: true
|
|
||||||
CastToNullableType:
|
|
||||||
active: false
|
|
||||||
CharArrayToStringCall:
|
|
||||||
active: false
|
|
||||||
Deprecation:
|
|
||||||
active: false
|
|
||||||
aliases: ['DEPRECATION']
|
|
||||||
DontDowncastCollectionTypes:
|
|
||||||
active: false
|
|
||||||
DoubleMutabilityForCollection:
|
|
||||||
active: true
|
|
||||||
aliases: ['DoubleMutability']
|
|
||||||
mutableTypes:
|
|
||||||
- 'kotlin.collections.MutableList'
|
|
||||||
- 'kotlin.collections.MutableMap'
|
|
||||||
- 'kotlin.collections.MutableSet'
|
|
||||||
- 'java.util.ArrayList'
|
|
||||||
- 'java.util.LinkedHashSet'
|
|
||||||
- 'java.util.HashSet'
|
|
||||||
- 'java.util.LinkedHashMap'
|
|
||||||
- 'java.util.HashMap'
|
|
||||||
ElseCaseInsteadOfExhaustiveWhen:
|
|
||||||
active: false
|
|
||||||
ignoredSubjectTypes: []
|
|
||||||
EqualsAlwaysReturnsTrueOrFalse:
|
|
||||||
active: true
|
|
||||||
EqualsWithHashCodeExist:
|
|
||||||
active: true
|
|
||||||
ExitOutsideMain:
|
|
||||||
active: false
|
|
||||||
ExplicitGarbageCollectionCall:
|
|
||||||
active: true
|
|
||||||
HasPlatformType:
|
|
||||||
active: true
|
|
||||||
IgnoredReturnValue:
|
|
||||||
active: true
|
|
||||||
restrictToConfig: true
|
|
||||||
returnValueAnnotations:
|
|
||||||
- 'CheckResult'
|
|
||||||
- '*.CheckResult'
|
|
||||||
- 'CheckReturnValue'
|
|
||||||
- '*.CheckReturnValue'
|
|
||||||
ignoreReturnValueAnnotations:
|
|
||||||
- 'CanIgnoreReturnValue'
|
|
||||||
- '*.CanIgnoreReturnValue'
|
|
||||||
returnValueTypes:
|
|
||||||
- 'kotlin.Function*'
|
|
||||||
- 'kotlin.sequences.Sequence'
|
|
||||||
- 'kotlinx.coroutines.flow.*Flow'
|
|
||||||
- 'java.util.stream.*Stream'
|
|
||||||
ignoreFunctionCall: []
|
|
||||||
ImplicitDefaultLocale:
|
|
||||||
active: true
|
|
||||||
ImplicitUnitReturnType:
|
|
||||||
active: false
|
|
||||||
ignoreAnnotated: ['Test']
|
|
||||||
allowExplicitReturnType: true
|
|
||||||
InvalidRange:
|
|
||||||
active: true
|
|
||||||
IteratorHasNextCallsNextMethod:
|
|
||||||
active: true
|
|
||||||
IteratorNotThrowingNoSuchElementException:
|
|
||||||
active: true
|
|
||||||
LateinitUsage:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
ignoreOnClassesPattern: ''
|
|
||||||
MapGetWithNotNullAssertionOperator:
|
|
||||||
active: true
|
|
||||||
MissingPackageDeclaration:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/*.kts']
|
|
||||||
MissingSuperCall:
|
|
||||||
active: false
|
|
||||||
mustInvokeSuperAnnotations:
|
|
||||||
- 'androidx.annotation.CallSuper'
|
|
||||||
- 'javax.annotation.OverridingMethodsMustInvokeSuper'
|
|
||||||
MissingUseCall:
|
|
||||||
active: false
|
|
||||||
ignoreClass:
|
|
||||||
- 'java.io.ByteArrayInputStream'
|
|
||||||
- 'java.io.ByteArrayOutputStream'
|
|
||||||
NullCheckOnMutableProperty:
|
|
||||||
active: false
|
|
||||||
NullableToStringCall:
|
|
||||||
active: false
|
|
||||||
PropertyUsedBeforeDeclaration:
|
|
||||||
active: false
|
|
||||||
UnconditionalJumpStatementInLoop:
|
|
||||||
active: false
|
|
||||||
UnnamedParameterUse:
|
|
||||||
active: false
|
|
||||||
allowAdjacentDifferentTypeParams: true
|
|
||||||
allowSingleParamUse: true
|
|
||||||
ignoreArgumentsMatchingNames: true
|
|
||||||
ignoreFunctionCall: []
|
|
||||||
UnnecessaryNotNullCheck:
|
|
||||||
active: false
|
|
||||||
UnnecessaryNotNullOperator:
|
|
||||||
active: true
|
|
||||||
UnnecessarySafeCall:
|
|
||||||
active: true
|
|
||||||
UnreachableCatchBlock:
|
|
||||||
active: true
|
|
||||||
UnreachableCode:
|
|
||||||
active: true
|
|
||||||
UnsafeCallOnNullableType:
|
|
||||||
active: true
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
||||||
UnsafeCast:
|
|
||||||
active: true
|
|
||||||
aliases: ['UNCHECKED_CAST']
|
|
||||||
UnusedUnaryOperator:
|
|
||||||
active: true
|
|
||||||
UselessPostfixExpression:
|
|
||||||
active: true
|
|
||||||
WrongEqualsTypeParameter:
|
|
||||||
active: true
|
|
||||||
|
|
||||||
style:
|
|
||||||
active: true
|
|
||||||
AbstractClassCanBeConcreteClass:
|
|
||||||
active: true
|
|
||||||
AbstractClassCanBeInterface:
|
|
||||||
active: true
|
|
||||||
AlsoCouldBeApply:
|
|
||||||
active: false
|
|
||||||
BracesOnIfStatements:
|
|
||||||
active: false
|
|
||||||
singleLine: 'never'
|
|
||||||
multiLine: 'always'
|
|
||||||
BracesOnWhenStatements:
|
|
||||||
active: false
|
|
||||||
singleLine: 'necessary'
|
|
||||||
multiLine: 'consistent'
|
|
||||||
CanBeNonNullable:
|
|
||||||
active: false
|
|
||||||
CascadingCallWrapping:
|
|
||||||
active: false
|
|
||||||
includeElvis: true
|
|
||||||
ClassOrdering:
|
|
||||||
active: false
|
|
||||||
CollapsibleIfStatements:
|
|
||||||
active: false
|
|
||||||
DataClassContainsFunctions:
|
|
||||||
active: false
|
|
||||||
conversionFunctionPrefix:
|
|
||||||
- 'to'
|
|
||||||
allowOperators: false
|
|
||||||
DataClassShouldBeImmutable:
|
|
||||||
active: false
|
|
||||||
DestructuringDeclarationWithTooManyEntries:
|
|
||||||
active: true
|
|
||||||
maxDestructuringEntries: 3
|
|
||||||
DoubleNegativeExpression:
|
|
||||||
active: false
|
|
||||||
DoubleNegativeLambda:
|
|
||||||
active: false
|
|
||||||
negativeFunctions:
|
|
||||||
- reason: 'Use `takeIf` instead.'
|
|
||||||
value: 'takeUnless'
|
|
||||||
- reason: 'Use `all` instead.'
|
|
||||||
value: 'none'
|
|
||||||
negativeFunctionNameParts:
|
|
||||||
- 'not'
|
|
||||||
- 'non'
|
|
||||||
EqualsNullCall:
|
|
||||||
active: true
|
|
||||||
EqualsOnSignatureLine:
|
|
||||||
active: false
|
|
||||||
ExplicitCollectionElementAccessMethod:
|
|
||||||
active: false
|
|
||||||
ExplicitItLambdaMultipleParameters:
|
|
||||||
active: true
|
|
||||||
ExplicitItLambdaParameter:
|
|
||||||
active: false
|
|
||||||
ExpressionBodySyntax:
|
|
||||||
active: false
|
|
||||||
includeLineWrapping: false
|
|
||||||
ForbiddenAnnotation:
|
|
||||||
active: true
|
|
||||||
annotations:
|
|
||||||
- reason: 'it is a java annotation. Use `Suppress` instead.'
|
|
||||||
value: 'java.lang.SuppressWarnings'
|
|
||||||
- reason: 'it is a java annotation. Use `kotlin.Deprecated` instead.'
|
|
||||||
value: 'java.lang.Deprecated'
|
|
||||||
- reason: 'it is a java annotation. Use `kotlin.annotation.MustBeDocumented` instead.'
|
|
||||||
value: 'java.lang.annotation.Documented'
|
|
||||||
- reason: 'it is a java annotation. Use `kotlin.annotation.Target` instead.'
|
|
||||||
value: 'java.lang.annotation.Target'
|
|
||||||
- reason: 'it is a java annotation. Use `kotlin.annotation.Retention` instead.'
|
|
||||||
value: 'java.lang.annotation.Retention'
|
|
||||||
- reason: 'it is a java annotation. Use `kotlin.annotation.Repeatable` instead.'
|
|
||||||
value: 'java.lang.annotation.Repeatable'
|
|
||||||
ForbiddenComment:
|
|
||||||
active: true
|
|
||||||
comments:
|
|
||||||
- reason: 'Forbidden FIXME todo marker in comment, please fix the problem.'
|
|
||||||
value: 'FIXME:'
|
|
||||||
- reason: 'Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code.'
|
|
||||||
value: 'STOPSHIP:'
|
|
||||||
- reason: 'Forbidden TODO todo marker in comment, please do the changes.'
|
|
||||||
value: 'TODO:'
|
|
||||||
allowedPatterns: ''
|
|
||||||
ForbiddenImport:
|
|
||||||
active: false
|
|
||||||
forbiddenImports: []
|
|
||||||
allowedImports: []
|
|
||||||
ForbiddenMethodCall:
|
|
||||||
active: true
|
|
||||||
methods:
|
|
||||||
- reason: 'print does not allow you to configure the output stream. Use a logger instead.'
|
|
||||||
value: 'kotlin.io.print'
|
|
||||||
- reason: 'println does not allow you to configure the output stream. Use a logger instead.'
|
|
||||||
value: 'kotlin.io.println'
|
|
||||||
- reason: 'using `BigDecimal(Double)` can result in unexpected floating point precision behavior. Use `BigDecimal.valueOf(Double)` or `String.toBigDecimalOrNull()` instead.'
|
|
||||||
value: 'java.math.BigDecimal.<init>(kotlin.Double)'
|
|
||||||
- reason: 'using `BigDecimal(String)` can result in a `NumberFormatException`. Use `String.toBigDecimalOrNull()`'
|
|
||||||
value: 'java.math.BigDecimal.<init>(kotlin.String)'
|
|
||||||
- reason: 'It is marked as obsolete. Use `kotlin.time.measureTime` instead.'
|
|
||||||
value: 'kotlin.system.measureTimeMillis'
|
|
||||||
ForbiddenNamedParam:
|
|
||||||
active: false
|
|
||||||
methods: []
|
|
||||||
ForbiddenOptIn:
|
|
||||||
active: false
|
|
||||||
markerClasses: []
|
|
||||||
ForbiddenSuppress:
|
|
||||||
active: false
|
|
||||||
rules: []
|
|
||||||
ForbiddenVoid:
|
|
||||||
active: true
|
|
||||||
ignoreOverridden: false
|
|
||||||
ignoreUsageInGenerics: false
|
|
||||||
FunctionOnlyReturningConstant:
|
|
||||||
active: true
|
|
||||||
ignoreOverridableFunction: true
|
|
||||||
ignoreActualFunction: true
|
|
||||||
excludedFunctions: []
|
|
||||||
LoopWithTooManyJumpStatements:
|
|
||||||
active: true
|
|
||||||
maxJumpCount: 1
|
|
||||||
MagicNumber:
|
|
||||||
active: false
|
|
||||||
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts']
|
|
||||||
ignoreNumbers:
|
|
||||||
- '-1'
|
|
||||||
- '0'
|
|
||||||
- '1'
|
|
||||||
- '2'
|
|
||||||
ignoreHashCodeFunction: true
|
|
||||||
ignorePropertyDeclaration: true
|
|
||||||
ignoreLocalVariableDeclaration: true
|
|
||||||
ignoreConstantDeclaration: true
|
|
||||||
ignoreCompanionObjectPropertyDeclaration: true
|
|
||||||
ignoreAnnotation: false
|
|
||||||
ignoreNamedArgument: true
|
|
||||||
ignoreEnums: false
|
|
||||||
ignoreRanges: false
|
|
||||||
ignoreExtensionFunctions: true
|
|
||||||
MandatoryBracesLoops:
|
|
||||||
active: false
|
|
||||||
MaxChainedCallsOnSameLine:
|
|
||||||
active: false
|
|
||||||
maxChainedCalls: 5
|
|
||||||
MaxLineLength:
|
|
||||||
active: false
|
|
||||||
maxLineLength: 120
|
|
||||||
excludePackageStatements: true
|
|
||||||
excludeImportStatements: true
|
|
||||||
excludeCommentStatements: false
|
|
||||||
excludeRawStrings: true
|
|
||||||
MayBeConstant:
|
|
||||||
active: true
|
|
||||||
ModifierOrder:
|
|
||||||
active: true
|
|
||||||
MultilineLambdaItParameter:
|
|
||||||
active: false
|
|
||||||
MultilineRawStringIndentation:
|
|
||||||
active: false
|
|
||||||
indentSize: 4
|
|
||||||
trimmingMethods:
|
|
||||||
- 'trimIndent'
|
|
||||||
- 'trimMargin'
|
|
||||||
NestedClassesVisibility:
|
|
||||||
active: true
|
|
||||||
NewLineAtEndOfFile:
|
|
||||||
active: true
|
|
||||||
NoTabs:
|
|
||||||
active: false
|
|
||||||
NullableBooleanCheck:
|
|
||||||
active: false
|
|
||||||
ObjectLiteralToLambda:
|
|
||||||
active: true
|
|
||||||
OptionalAbstractKeyword:
|
|
||||||
active: true
|
|
||||||
OptionalUnit:
|
|
||||||
active: false
|
|
||||||
ProtectedMemberInFinalClass:
|
|
||||||
active: true
|
|
||||||
RangeUntilInsteadOfRangeTo:
|
|
||||||
active: true
|
|
||||||
RedundantConstructorKeyword:
|
|
||||||
active: false
|
|
||||||
RedundantExplicitType:
|
|
||||||
active: false
|
|
||||||
RedundantHigherOrderMapUsage:
|
|
||||||
active: true
|
|
||||||
RedundantVisibilityModifier:
|
|
||||||
active: false
|
|
||||||
ReturnCount:
|
|
||||||
active: false
|
|
||||||
max: 2
|
|
||||||
excludedFunctions:
|
|
||||||
- 'equals'
|
|
||||||
excludeLabeled: false
|
|
||||||
excludeReturnFromLambda: true
|
|
||||||
excludeGuardClauses: false
|
|
||||||
SafeCast:
|
|
||||||
active: true
|
|
||||||
SerialVersionUIDInSerializableClass:
|
|
||||||
active: true
|
|
||||||
SpacingAfterPackageAndImports:
|
|
||||||
active: false
|
|
||||||
StringShouldBeRawString:
|
|
||||||
active: false
|
|
||||||
maxEscapedCharacterCount: 2
|
|
||||||
ignoredCharacters: []
|
|
||||||
ThrowsCount:
|
|
||||||
active: false
|
|
||||||
max: 2
|
|
||||||
excludeGuardClauses: false
|
|
||||||
TrailingWhitespace:
|
|
||||||
active: false
|
|
||||||
TrimMultilineRawString:
|
|
||||||
active: false
|
|
||||||
trimmingMethods:
|
|
||||||
- 'trimIndent'
|
|
||||||
- 'trimMargin'
|
|
||||||
UnderscoresInNumericLiterals:
|
|
||||||
active: false
|
|
||||||
acceptableLength: 4
|
|
||||||
allowNonStandardGrouping: false
|
|
||||||
UnnecessaryAny:
|
|
||||||
active: false
|
|
||||||
UnnecessaryApply:
|
|
||||||
active: true
|
|
||||||
UnnecessaryBackticks:
|
|
||||||
active: false
|
|
||||||
UnnecessaryBracesAroundTrailingLambda:
|
|
||||||
active: false
|
|
||||||
UnnecessaryFilter:
|
|
||||||
active: true
|
|
||||||
UnnecessaryFullyQualifiedName:
|
|
||||||
active: true
|
|
||||||
UnnecessaryInheritance:
|
|
||||||
active: true
|
|
||||||
UnnecessaryInnerClass:
|
|
||||||
active: false
|
|
||||||
UnnecessaryLet:
|
|
||||||
active: false
|
|
||||||
UnnecessaryParentheses:
|
|
||||||
active: false
|
|
||||||
allowForUnclearPrecedence: false
|
|
||||||
UnnecessaryReversed:
|
|
||||||
active: false
|
|
||||||
UnusedImport:
|
|
||||||
active: false
|
|
||||||
additionalOperatorSet: []
|
|
||||||
UnusedParameter:
|
|
||||||
active: true
|
|
||||||
aliases: ['UNUSED_PARAMETER', 'unused']
|
|
||||||
allowedNames: 'ignored|expected'
|
|
||||||
UnusedPrivateClass:
|
|
||||||
active: true
|
|
||||||
aliases: ['unused']
|
|
||||||
UnusedPrivateFunction:
|
|
||||||
active: true
|
|
||||||
aliases: ['unused']
|
|
||||||
allowedNames: ''
|
|
||||||
UnusedPrivateProperty:
|
|
||||||
active: true
|
|
||||||
aliases: ['unused']
|
|
||||||
allowedNames: 'ignored|expected|serialVersionUID'
|
|
||||||
UnusedVariable:
|
|
||||||
active: true
|
|
||||||
aliases: ['UNUSED_VARIABLE', 'unused']
|
|
||||||
allowedNames: 'ignored|_'
|
|
||||||
UseAnyOrNoneInsteadOfFind:
|
|
||||||
active: true
|
|
||||||
UseArrayLiteralsInAnnotations:
|
|
||||||
active: true
|
|
||||||
UseCheckNotNull:
|
|
||||||
active: true
|
|
||||||
UseCheckOrError:
|
|
||||||
active: true
|
|
||||||
UseDataClass:
|
|
||||||
active: false
|
|
||||||
allowVars: false
|
|
||||||
UseEmptyCounterpart:
|
|
||||||
active: false
|
|
||||||
UseIfEmptyOrIfBlank:
|
|
||||||
active: false
|
|
||||||
UseIfInsteadOfWhen:
|
|
||||||
active: false
|
|
||||||
ignoreWhenContainingVariableDeclaration: false
|
|
||||||
UseIsNullOrEmpty:
|
|
||||||
active: true
|
|
||||||
UseLet:
|
|
||||||
active: false
|
|
||||||
UseOrEmpty:
|
|
||||||
active: true
|
|
||||||
UseRequire:
|
|
||||||
active: true
|
|
||||||
UseRequireNotNull:
|
|
||||||
active: true
|
|
||||||
UseSumOfInsteadOfFlatMapSize:
|
|
||||||
active: false
|
|
||||||
UselessCallOnNotNull:
|
|
||||||
active: true
|
|
||||||
UtilityClassWithPublicConstructor:
|
|
||||||
active: true
|
|
||||||
VarCouldBeVal:
|
|
||||||
active: true
|
|
||||||
aliases: ['CanBeVal']
|
|
||||||
ignoreLateinitVar: false
|
|
||||||
WildcardImport:
|
|
||||||
active: false
|
|
||||||
excludeImports:
|
|
||||||
- 'java.util.*'
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue