saveourtool / diktat

Strict coding standard for Kotlin and a custom set of rules for detecting code smells, code style issues and bugs
https://diktat.saveourtool.com
MIT License
525 stars 39 forks source link

Integrate `info` to main gradle project #1840

Open nulls opened 10 months ago

nulls commented 10 months ago

We have a separate module info which builds documentation for diktat. It has own buildSrc and it's a separate gradle project.

Need to integrate to main gradle project to allow to use it as part of main gradle task.

Also, looks like is not merged fully from maven:

// info/buildSrc/build.gradle.kts
flatDir {
        dirs(
            "$rootDir/../../diktat-rules/target",
            "$rootDir/../../diktat-common/target"
        )
    }
nulls commented 9 months ago

It's a code generation written on Gradle. It uses diktat-rules as dependency in buildSrc.

As a solution: we can move Warnings and Charters to toml files and generates enum Warnings and Charters based on it. It will allow to remove diktat-ksp-dev module and integrate info to main build

Note: If info/buildSrc move to a dedicated composite build (includeBuild("blabla")), it requires to apply some plugin from this new composite build to resolve imports from this build