All Classes and Interfaces
Class
Description
One generated row of the API-contract progress history, in
ApiContractTrackerSource's own field shape -
fingerprint, verb, path, declaringClass, declaredAt,
implementedAt, stubbedAt, verifiedAt, lastSeenAt,
removedAt.TrackerSource for the API-detector plugins' shared contract progress-history NDJSON,
one record per line with fields fingerprint, verb, path,
declaringClass, declaredAt, implementedAt, stubbedAt,
verifiedAt, lastSeenAt, removedAt.One generated row of the BDD-scenario progress history, in
GherkinScenarioTrackerSource's own field shape
- fingerprint, scenarioName, featureTitle, listedAt,
definedAt, implementedAt, lastSeenAt, removedAt.Generates a complete, runnable pair of projects for developing and testing a new lens end to
end - the same boilerplate
LENS_TUTORIAL.adoc walks through by hand: a minimal lens-pack
project (containing the same boilerplate CSS initTrackerLens generates) and a minimal
sample project that applies tracker-lens itself, already wired to consume that pack and,
on its first (and every) dashboard build, generate its own calibrated sample fixture via
generateTrackerLensFixture rather than reading a static file this task writes once.How many times a
ContractRule's selector is allowed or required to match in a generated
dashboard.The fixed (non-rule-relative) cardinality kinds.
The whole-document match count equals
rule's whole-document match count.How much history a
Projection is based on, driving the disclaimer text shown next to it
in the dashboard.The tracker-lens dashboard content contract: the single source of truth for which structural
elements a generated
dashboard.html must contain, so a lens's CSS has stable selectors to
style against.Renders
DashboardView to dashboard.html plus one CSS file per discovered lens, via
a Mustache template - this plugin's own bundled default, or a user-supplied override.Everything
DashboardHtmlWriter needs to render dashboard.html and one CSS file
per lens.Thrown by
TrackerLensFixtureGenerator when no candidate dataset it tried, verified
against the real
ProgressProjector, produced a forecast
within tolerance of the requested FixtureSpec.forecastTargetDaysOut().The in-memory result of
TrackerLensFixtureGenerator.generate(FixtureSpec): both
trackers' generated records, plus a way to write them to disk.Parameters for
TrackerLensFixtureGenerator: how much history to synthesize, how far out
the resulting forecast should land, and how many items each of the two trackers should carry.Generates a calibrated pair of
gherkin-progress-history.ndjson and
api-contract-progress.ndjson fixture files - a convenience wrapper around
TrackerLensFixtureGenerator for a lens-pack developer prototyping locally, exposing
FixtureSpec's fields as task properties, every one of them optional and defaulting
exactly as FixtureSpec.defaults() does.Reads every registered tracker's NDJSON history, computes a completion
Projection for
each, resolves the merged lens set, writes dashboard.html plus one CSS file per
discovered lens, and validates the result against ContractRule as its unconditional last
step - a dashboard that silently can't take a lens because generation drifted from its own
content contract is a worse failure than a build error.TrackerSource for gherkin-to-asciidoc's scenario progress-history NDJSON, one
record per line with fields fingerprint, scenarioName, featureTitle,
listedAt, definedAt, implementedAt, lastSeenAt, removedAt.Expands a tracker's configured
historyFiles entries into a flat, deterministic list of
concrete NDJSON files to read: an entry that is itself a file is used as-is, and an entry that is
a directory is expanded to every *.ndjson file directly within it (non-recursive), sorted
by name.Generates a complete, heavily-commented boilerplate lens CSS file to start a new lens from,
covering every selector
ContractRule governs (see DASHBOARD-THEMING.adoc) with
inline comments explaining what each one is for and clearly-fake placeholder colors to replace.A single style pack lens, as discovered by
LensScanner: its id (the lens file's base
name, lower-cased) and its CSS content.Enforces every
ContractRule against a generated dashboard file.Derives a filesystem-safe CSS file name from a (possibly auto-namespaced) lens id, e.g.
Merges the
Lenses contributed by several LensSources into the final set offered
in the dashboard's lens switcher.Scans one classpath root - a directory or a jar, this plugin's own bundled resources or a
resolved
lensStyle dependency, no distinction - for the fixed
META-INF/arc-e-tect/tracker-lens/lenses/*.css convention and returns the Lenses
it finds.Resolves the full merged lens set - this plugin's own bundled built-in lenses, every resolved
external
lensStyle pack (optionally restricted to one preferred pack), and the single
lensStylesheet lens when configured - exactly the same way regardless of which task asks
for it.One contributor of
Lenses to be merged by LensResolver: either this plugin's own
bundled built-in lenses, or one resolved lensStyle dependency's lenses, or the single lens
contributed by trackerLens.lensStylesheet.A single tracked item's lifecycle, as read from a
TrackerSource.Merges
LifecycleRecords sharing the same LifecycleRecord.id() - read from
different history files registered on the same tracker - into one record per id.Lists every Tracker Lens style available through a lens pack - this plugin's own built-in lenses
and every resolved external
lensStyle pack's lenses - without generating a dashboard.Lists every Tracker Lens dashboard template available through a lens pack - this plugin's own
built-in template and every resolved external
lensStyle pack's templates - selectable via
trackerLens.templateId, without generating a dashboard.Rendered data for one
.metric-card in a tracker section.Extrapolates when a tracker will reach its total item count, from the historical rate at which
items have reached its final stage.
An extrapolated completion estimate for a tracker, computed by
ProgressProjector.A
Lens after cross-pack merging by LensResolver: its final, possibly
auto-namespaced id, the label of the source it came from, and its CSS content.A
Template after cross-pack merging by TemplateResolver: its final, possibly
auto-namespaced id, the label of the source it came from, and its Mustache content.One cell of the response-coverage snapshot matrix: a currently-declared (verb, path,
responseCode) triple, its current test count, and whether that count is positive.
Reads the same NDJSON file
ResponseCoverageTrackerSource reads, but into
ResponseCoverageCells - the current-state snapshot pivot a coverage-depth grid needs,
which LifecycleRecord's milestone-timestamp shape cannot carry (no field for
testCount, and verb/path/responseCode would need to stay
independently pivotable rather than fused into one label string).TrackerSource for the Doppelganger API Detector's response-coverage-history NDJSON, one
record per line with fields fingerprint, verb, path,
responseCode, testCount, firstDeclaredAt, firstCoveredAt,
lastSeenAt, removedAt.A single lens-pack dashboard template, as discovered by
TemplateScanner: its id (the
template file's base name, lower-cased) and its Mustache content.Merges the
Templates contributed by several TemplateSources into the final set
listTrackerLensTemplates reports and trackerLens.templateId selects from.Scans one classpath root - a directory or a jar, this plugin's own bundled resources or a
resolved
lensStyle dependency, no distinction - for the fixed
META-INF/arc-e-tect/tracker-lens/templates/*.html convention and returns the
Templates it finds.Resolves the full merged template set - this plugin's own bundled built-in template, plus every
resolved external
lensStyle pack's templates (optionally restricted to one preferred
pack) - exactly the same way regardless of which task asks for it.One contributor of
Templates to be merged by TemplateResolver: either this
plugin's own bundled built-in template, or one resolved lensStyle dependency's templates.DSL extension for the Tracker Lens Gradle plugin.
Generates a calibrated pair of
gherkin-progress-history.ndjson and
api-contract-progress.ndjson fixtures: run today, the forecast each one produces lands a
predictable distance in the future, and still does when run again months later, without anyone
hand-editing timestamps.Gradle plugin that generates a themeable, standalone HTML dashboard from Gherkin scenario and API
contract lifecycle history.
One
trackerLens.trackers { register("...") { ... } } DSL registration: which history
file(s) to read and which TrackerSourceKind to read them with.Reads a producing plugin's NDJSON lifecycle-history file into
LifecycleRecords.The built-in
TrackerSource kinds selectable from the trackerLens DSL's
source property, each paired with its canonical, ordered stage sequence.A resolved
trackerLens.trackers { ... } registration, as read by
GenerateTrackerLensTask from TrackerLensExtension.getTrackers() at configuration
time.Rendered data for one
.tracker section of the dashboard.Builds a
TrackerView from a tracker's raw records, ready for
DashboardHtmlWriter to render.One
ContractRule violation found by LensContractValidator.