Skip to content
CAI
Software that uses CAICheck a score

sbt/sbt-eclipse

60.7

Adequate · 28 September 2026

1.3k

lines of production code

Scala

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an sbt plugin that generates Eclipse project configuration files for Scala and Java projects. It handles the creation of .classpath and .project files, managing source directories, library dependencies, and JDT settings. The plugin supports multi-module structures, multiple Scala versions, and various configuration options for source and javadoc inclusion.

How it got here

2011 — sbt build migration and test coverage

5 changes.

The project migrated to an sbt build definition, configuring cross-compilation for Scala 2.12 and 3.8 with specific dependency versions. A comprehensive suite of scripted tests was added to verify Eclipse project generation, covering default settings, project structure, classpath contents, and multi-module scenarios.

2015–2023 — Eclipse plugin modernization and testing

7 changes.

The sbt Eclipse plugin underwent significant architectural refactoring, migrating to the AutoPlugin system and restructuring core logic to support Scala 3 and Play Framework. This period also focused on expanding test coverage to validate multi-Scala version handling, dependency options, and JDT writing modes.

Behavioural changes

Eclipse plugin core logic and settings restructured

The sbteclipse plugin's core implementation has been reorganized into dedicated modules: the main generation logic is now in Eclipse.scala, the plugin definition and key settings in EclipsePlugin.scala, Scala compiler option handling in EclipseSDTConfig.scala, and Scala version compatibility in ScalaVersion.scala. This change introduces a new \classesManaged\ setting that copies managed source classes to a separate directory to support Play Framework users without Scala IDE, and refactors how Eclipse project files are generated and transformed.

repository · high confidence

Migrate Eclipse plugin to sbt AutoPlugin architecture

The sbt Eclipse plugin has been refactored to use sbt's AutoPlugin mechanism, allowing it to be automatically enabled without explicit imports. This change introduces Scala 2 and Scala 3 specific compatibility layers for compile tasks and adds a new 'JDT writing mode' option for Eclipse project generation, while maintaining backward compatibility through existing key aliases.

src/main · high confidence

Test coverage

Added scripted tests for Eclipse project structure generation; Added scripted tests for default settings and nested managed sources; Added test fixtures for multi-module Eclipse project generation; Added test for dependency source and javadoc inclusion options; Added test for disabled Eclipse plugin behavior; Added test for multi-Scala version support in Eclipse plugin; Added tests for Eclipse project and classpath XML generation; Added tests for JDT writing mode combinations; Added tests for Scala version parsing.

Dependencies

Initial sbt build definition and scripted tests for sbt-eclipse

The project now uses an sbt build definition (build.sbt) that configures sbt-eclipse as an sbt plugin, supporting cross-compilation for Scala 2.12.21 and Scala 3.8.4, with sbt versions 1.12.9 and 2.0.0-RC11 respectively. The build declares dependencies on scalaz-core 7.2.36, scalaz-effect 7.2.36, and scalatest 3.2.20 (test). Additionally, a suite of scripted tests was added under src/sbt-test/sbteclipse to verify Eclipse project generation across various scenarios, including default settings, project structure, classpath contents, dependency source/javadoc inclusion, multi-Scala version support, plugin disabling, and JDT settings management.

(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

Score

  • CAI 62 → 61 (-1.2)
  • Rubric changed (rubric-2026.09.8 → rubric-2026.09.16) — scores are not directly comparable.

Lenses

  • Code Health 96 → 96 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 57 → 51 (-6.5)
  • Readiness 53 → 56 (+3.4)
  • Security 70 → 70 (+0.0)

New (1)

  • Documentation: no installation or build instructions (README.md)

Changes since last survey

  • 4 commits — 4 feature/other, 0 fixes

By area

  • (repo) — 2 commits
  • project/build.properties — 1 commit
  • project/plugins.sbt — 1 commit

Notable commits

  • change: Merge pull request #479 from scala-steward/update/sbt-1.13.0
  • change: Merge pull request #480 from scala-steward/update/patches
  • change: sbt, scripted-plugin 1.13.0 (was 1.12.15)
  • change: sbt-ci-release 1.12.1 (was 1.12.0)

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

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

Survey your own repository

sbt/sbt-eclipse 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 28 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 33981e53ff87991d56a6174708dc9c7a299372e8 — the exact code this score is about.
  • Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.