chore: add static analysis, coverage, and a documentation site#4
Draft
AndroidPoet wants to merge 1 commit into
Draft
chore: add static analysis, coverage, and a documentation site#4AndroidPoet wants to merge 1 commit into
AndroidPoet wants to merge 1 commit into
Conversation
Brings the repo up to the shared library standard: - detekt static analysis wired across all modules with a shared config/detekt/detekt.yml and per-module baselines for the existing code. - kover coverage aggregated over the :compose-guard plugin module, with koverXmlReport/koverHtmlReport and a koverVerify floor (~68% today). - A Nextra documentation site under website/ (Introduction, Getting Started, Usage, Rule Reference, Suppressing Rules, Configuration) plus a GitHub Pages deploy workflow. - CI now runs detekt and koverVerify alongside the existing spotless check. Spotless was already present; this also normalizes a few files that had drifted from the configured formatting.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the project up to the shared library quality standard. Spotless was already in place; this PR adds the remaining pillars and a docs site, adapting them to a Gradle/IntelliJ-plugin layout (rather than a multiplatform library).
What's in here
Static analysis (detekt)
detektplugin to the version catalog and applied it to every module from the root build.config/detekt/detekt.yml, tuned for a PSI-based rule engine (long branchy visitors, platform-mandated extension-point signatures).compose-guard/detekt-baseline.xml,app/detekt-baseline.xml) snapshot the existing code so the gate is clean today and catches new issues going forward.Coverage (kover)
koverplugin to the catalog, applied it to the:compose-guardplugin module, and aggregated coverage at the root.koverXmlReport/koverHtmlReportproduce reports;koverVerifyenforces a line-coverage floor (currently ~68%, floor set to 50%).Documentation site
website/: Introduction, Getting Started, Usage, Rule Reference (all 37 rules), Suppressing Rules, and Configuration — written specifically for the plugin..github/workflows/docs.yml).CI
detekt(in the formatting job) andkoverXmlReport koverVerify(in the plugin job).Formatting
spotlessApplynormalized a handful of source/test files that had drifted from the configured style; those changes are formatting-only.Verification
All checks were run locally against JDK 21 and pass:
./gradlew spotlessCheck(pass)./gradlew detekt(pass, with baselines)./gradlew koverXmlReport koverVerify(pass, ~68% line coverage)pnpm buildinwebsite/(pass, all pages export cleanly)No pillar was skipped.