Skip to content
CAI
Software that uses CAICheck a score

scala/community-build

40.9

Weak · 21 October 2026

438

lines of production code

Scala

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is the Scala 2 Community Build, a tooling infrastructure designed to compile and test a wide ecosystem of external Scala libraries against a specific version of the Scala compiler. It manages dependencies by pinning specific Git commits for numerous projects and tools, ensuring reproducible builds across various JDK versions. The system includes operational scripts for local execution, SHA advancement, and reporting, along with Jenkins integration for automated nightly builds.

Features

Initial repository setup with build infrastructure and licensing

The repository is initialized with the core infrastructure for the Scala 2 Community Build. This includes the Apache 2.0 license, a Code of Conduct, and a .gitignore file. The build system is configured via community.conf and projs.conf, utilizing dbuild version 0.9.20 and sbt 1.13.0. A nightly.properties file sets the default Scala version to 2.13.19-bin-8b318bf. Operational scripts (run, advance, narrow, report) are added to manage local builds, advance project SHAs, and generate reports. The README is updated to describe the project's purpose and maintenance by VirtusLab.

(repo-wide) · high confidence

New Jenkins integration job for community build

A new Jenkins job script has been added to manage the community build. It configures Java options for JDK 11+ compatibility, adds Coursier to the PATH, and allows limiting the build to specific projects via the \$projects\ parameter.

scripts/jobs · high confidence

Behavioural changes

Added empty log4j configuration file

An empty log4j.properties file has been added to the scripts directory. This file currently contains no configuration settings, meaning it will not affect logging behavior until properties are defined within it.

scripts · low confidence

Update community-build project configurations and SHAs

This change updates the configuration files in the \proj/\ directory for numerous Scala libraries (including advxml, airframe, akka-http-json, ammonite, breeze, circe, and others) to point to specific commit SHAs. These updates reflect ongoing maintenance to keep the community build compatible with upstream projects, often involving unfreezing previously frozen repos, adjusting build commands to handle test exclusions or GPG requirements, and ensuring extraction works on various JDK versions.

proj · high confidence

Dependencies

Add core dependency configuration files for Scala tooling ecosystem

The build system now includes explicit configuration files (\.conf\) in the \core/\ directory for key Scala libraries and tools: acyclic, genjavadoc, kind-projector, scalafix, scalafmt, scalameta, silencer, and wartremover. These files define the specific Git URIs, commit SHAs, and build options (such as excluded projects or test filters) required to fetch and compile these dependencies within the community build environment, ensuring stable and reproducible builds for these external tools.

core · 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

Score

  • CAI 36 → 41 (+4.9)
  • Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

Lenses

  • Code Health 94 (new)
  • Architecture 69 (new)
  • Maturity 38 → 46 (+7.6)
  • Readiness 15 → 15 (+0.0)
  • Security 100 → 100 (+0.0)

New (2)

  • SuccessReport.apply (cognitive 24) (report)
  • SuccessReport.apply (cyclomatic 17) (report)

Changes since last survey

  • 32 commits — 31 feature/other, 1 fixes

By area

  • (root) — 9 commits
  • (repo) — 7 commits
  • proj/ssl-config.conf — 3 commits
  • proj/akka.conf — 2 commits
  • proj/breeze.conf — 1 commit
  • proj/cats-effect.conf — 1 commit
  • proj/finagle.conf — 1 commit
  • proj/fs2.conf — 1 commit
  • proj/kafka.conf — 1 commit
  • proj/metals.conf — 1 commit
  • proj/playframework.conf — 1 commit
  • proj/redis4cats.conf — 1 commit
  • proj/scala-swing.conf — 1 commit
  • proj/twirl.conf — 1 commit
  • proj/zinc.conf — 1 commit

Notable commits

  • fix: report: expect the fixed projects to succeed
  • change: 2.13: new Scala SHA
  • change: Merge pull request #1748 from lrytz/redis4cats-tags
  • change: Merge pull request #1749 from lrytz/cb-jdk27
  • change: Merge pull request #1750 from lrytz/cb-accepted-failures
  • change: Merge pull request #1751 from lrytz/cb-jdk27-followup
  • change: Merge pull request #1752 from lrytz/cb-ssl-config-tests
  • change: Merge pull request #1753 from lrytz/cb-forks-and-flaky
  • change: Merge pull request #1754 from lrytz/cb-metals-jdk27
  • change: akka: don't fail test compilation on javac warnings
  • change: akka: use a newer bndlib for OSGi bundling
  • change: ammonite, metals, scalatest: call Thread.stop reflectively
  • change: breeze: exclude two flaky property tests
  • change: cats-effect: skip IOAppSuite on JDK 25+
  • change: finagle, scrooge, twitter-util: run tests on JDK 17+
  • change: fs2: skip SocketSuite on JDK 27+
  • change: kafka: skip MirrorMaker 1, which doesn't compile on JDK 21+
  • change: metals: skip a Java completion suite on JDK 27+
  • change: mockito-scala: build our fork, which sets static finals through Unsafe
  • change: playframework: let Byte Buddy run on JDK 25+
  • …and 12 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

scala/community-build 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 21 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 852d08ed8348c84683ef651549f9036d14a8681d — the exact code this score is about.
  • Scored under rubric-2026.10.5 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer measure-2026.10.3+preprod-797c94dd8c2e.