Skip to content
CAI
Software that uses CAICheck a score

ghik/silencer

55.7

Adequate · 20 September 2026

563

lines of production code

Scala

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Scala compiler plugin and library designed to suppress specific compiler warnings. It provides granular control over warning suppression through message patterns, file paths, and line content, while also supporting the standard @nowarn annotation. The project maintains compatibility across multiple Scala versions, including 2.11, 2.12, and 2.13.

Behavioural changes

Silencer annotation updated to support message patterns and new package

The @silent annotation in the silencer library has been updated to allow suppressing specific warnings by accepting an optional message pattern argument, rather than silencing all warnings indiscriminately. Additionally, the annotation class has been migrated from extending StaticAnnotation to the standard Annotation trait, and the package has moved from rjghik to com.github.ghik.

silencer-lib · high confidence

Silencer plugin restructured for Scala 2.13 and expanded filtering capabilities

The silencer-plugin has been refactored to support Scala 2.13, introducing version-specific compatibility traits for tree handling and a new \SuppressingReporter\ that replaces the previous suppression-range model with a filter-based approach. Users can now suppress warnings using global message patterns, source file paths, and line content via new plugin options (\-P:silencer:globalFilters\, \pathFilters\, \lineContentFilters\, \sourceRoots\). The plugin also adds support for Scala 2.13's \@nowarn\ annotation, allows suppressing warnings on entire annotation-ascribed trees, and introduces a \checkUnused\ option to report redundant \@silent\ annotations. The package name has changed from \rjghik.silencer\ to \com.github.ghik.silencer\.

silencer-plugin · high confidence

Dependencies

Upgrade to ScalaTest 3.2 and expand supported Scala versions

The build configuration has been updated to use ScalaTest 3.2.0 (specifically the \scalatest-funsuite\ module) for testing, replacing the previous version 2.2.4. Additionally, the project now supports a wide range of Scala versions, including Scala 2.11.12, Scala 2.12.x (up to 2.12.21), and Scala 2.13.x (up to 2.13.18), with full cross-versioning enabled for both the plugin and library modules.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 56.

Lenses

  • Code Health 97
  • Architecture 69
  • Maturity 51
  • Readiness 50
  • Security 65

Changes since last survey

  • 241 commits — 221 feature/other, 20 fixes

By area

  • (root) — 132 commits
  • silencer-plugin/src — 52 commits
  • (repo) — 35 commits
  • .github/workflows — 6 commits
  • project/plugins.sbt — 6 commits
  • project/build.properties — 5 commits
  • silencer-plugin/testdata — 4 commits
  • silencer-lib/src — 1 commit

Notable commits

  • fix: Fix #56: NullPointerException at SilencerPlugin's FindSuppressions.addSuppression
  • fix: build fix
  • fix: build fixes
  • fix: build fixes
  • fix: cross building fixed
  • fix: fix procedure syntax
  • fix: fix scala 2.11 build
  • fix: fixed #63
  • fix: fixed position for bad annotation errors
  • fix: fixed suppressing warnings inside annotations #32
  • fix: fixed tests for 2.13
  • fix: fixed travis release
  • fix: fixed travis scala version
  • fix: fixed travis scala version
  • fix: fixed travis scala versions
  • fix: fixed warning suppression inside macro expandees
  • fix: non-critical bugfix
  • fix: sonatype publishing yet another fix
  • fix: test fixes
  • fix: trying to fix travis sonatype publishing
  • …and 221 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ghik/silencer was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 20f2895268b456cce36a25714103e451ce46c2f4 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.