Skip to content
CAI
Software that uses CAICheck a score

ContextMapper/context-map-generator

57.2

Adequate · 21 September 2026

7.8k

lines of production code

Java

with Groovy

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Java library and tooling for generating Graphviz-based diagrams, specifically positioned as a Graphical DDD Context Map Generator. It provides a comprehensive API for styling graph elements, including nodes, links, and graphs, with support for colors, fonts, and layout options. The project also includes build infrastructure for OSGi and Eclipse update site generation, along with a robust test suite covering the visualization engine and attribute configurations.

Features

Added Gradle wrapper configuration for version 5.6.4

The project now includes a Gradle wrapper configuration file (gradle/wrapper/gradle-wrapper.properties) that pins the Gradle distribution to version 5.6.4. This ensures that all users and build environments use the same Gradle version, improving build consistency and reliability.

gradle · high confidence

Added Gradle wrapper scripts for the project

The repository now includes the Gradle wrapper scripts (gradlew and gradlew.bat) to allow building the project without a pre-installed Gradle. The README has also been updated to reflect the project's new identity as a Graphical DDD Context Map Generator, including usage instructions and examples.

(repo-wide) · high confidence

Added bnd-platform Gradle plugin for OSGi bundle and Eclipse update site generation

The buildSrc/bnd-platform module introduces a new Gradle plugin that automates the creation of OSGi bundles and Eclipse update sites. It provides a \PlatformPlugin\ that configures tasks to process JAR artifacts, generate feature definitions, and produce category XML files. The plugin supports automatic wrapping of non-OSGi JARs using bnd, manages source bundles, and allows configuration of bundle versions, symbolic names, and import strategies. This enables developers to build and publish Eclipse update sites directly from Gradle builds.

buildSrc/bnd-platform, buildSrc/p2-plugin · high confidence

The library now provides a comprehensive set of new classes in the \guru.nidi.graphviz.attribute\ package to configure visual properties of Graphviz elements. Users can now apply specific attributes to graphs, nodes, and links, including \Arrow\ styles for links, \Color\ definitions with RGB/RGBA/HSV support, \Font\ configuration, \Label\ formatting (including HTML and Markdown), \Shape\ definitions for nodes, \Record\ layouts, \Rank\ and \Spline\ mode settings for graph layout, and \Image\ placement. This update significantly broadens the styling capabilities available for generated diagrams.

src/main · high confidence

Test coverage

Added comprehensive test suite for Graphviz Java library

Added 11 new test files in src/test/java/guru/nidi/graphviz covering attribute classes (Arrow, Color, EndLabel, Font, Label, Rank, Records, Shape, SimpleLabel), engine components (AbstractGraphvizEngine, Engine, Format, Graphviz, Options, Renderer, SvgRasterizer), and model context, providing unit and integration test coverage for the graph visualization engine and its configuration options.

src/test · high confidence

Dependencies

Initial Gradle build configuration and dependency setup

The project introduces a new Gradle-based build system, replacing previous build mechanisms. This includes a root \build.gradle\ that defines dependencies for the Context Map Generator (including Apache Commons, SVG Salamander, and JUnit 5), configures Maven publishing to Sonatype, and sets up OSGi/Eclipse P2 repository generation via the \bnd-platform\ and \p2-plugin\ subprojects. The build also specifies Java 1.8 compatibility and includes specific exclusions for modules like \graphviz-java\ and \slf4j-api\ to resolve Eclipse compatibility issues.

(dependencies) · medium 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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 53 → 57 (+4.0)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 97 → 98 (+1.0)
  • Architecture 100 → 94 (-5.9)
  • Maturity 49 → 49 (+0.0)
  • Readiness 50 → 50 (+0.5)
  • Security 45 → 65 (+19.5)

Resolved (22)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (5 lines × 2) (src/main/java/org/contextmapper/contextmap/generator/ContextMapGenerator.java)
  • Duplicated block (9 lines × 2) (src/main/java/guru/nidi/graphviz/model/ImmutableGraph.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • No exposed public API
  • Test reliability not included
  • …and 2 more

New (84)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Duplicated block (18 lines × 2) (src/main/java/guru/nidi/graphviz/model/ImmutableGraph.java)
  • Duplicated block (5 lines × 2) (src/main/java/org/contextmapper/contextmap/generator/ContextMapGenerator.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • …and 64 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

ContextMapper/context-map-generator 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 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 a5b751032c6f80a5be35f6a1f4982a8bf06547cc — 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-fa71c66cabd8.