From f4a6ec9194ed17a4fcdc844baaf8ab676e905fe2 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Tue, 7 Jul 2026 06:53:04 +0200 Subject: [PATCH] implemented 01-build-state-domain: add execution notes and jackson-datatype-jsr310 dependency --- build.gradle.kts | 1 + docs/plan/01-build-state-domain.md | 10 ++++++++++ docs/plan/README.md | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index ce7bbac..4115150 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,6 +27,7 @@ dependencies { implementation("info.picocli:picocli-spring-boot-starter:4.7.6") implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") testImplementation("org.springframework.boot:spring-boot-starter-test") diff --git a/docs/plan/01-build-state-domain.md b/docs/plan/01-build-state-domain.md index 9b91d09..64b9a1e 100644 --- a/docs/plan/01-build-state-domain.md +++ b/docs/plan/01-build-state-domain.md @@ -49,3 +49,13 @@ Kotest `FunSpec`, no Spring context needed. - `./gradlew ktlintFormat` then `./gradlew build` is green. - New code has no dependency on picocli or web classes. + +## Execution Notes (done 2026-07-07) + +Implemented as specified in `de.hoennig.gittally.build`; build green, 19 new tests. +Deviations and details: + +- Added `jackson-datatype-jsr310` to `build.gradle.kts` for `Instant`/`Duration` JSON support (ISO-8601 strings). +- `FileBuildResultRepository` is a plain class, not a Spring bean; the file path depends on the runtime repo location, so wiring happens in step 04/06 via a factory or configuration. +- `prune(...)` and `markStaleRunningAsInterrupted()` return the removed/changed entries so step 05 can prune artifact directories and callers can log. +- Timestamp ties in `updateLatest`/`latestFor` resolve to the later appended entry. diff --git a/docs/plan/README.md b/docs/plan/README.md index 11c336c..9ef2caf 100644 --- a/docs/plan/README.md +++ b/docs/plan/README.md @@ -39,7 +39,7 @@ Revisit them in an ADR if a step uncovers problems. Foundation: -- [ ] `01-build-state-domain.md` — build result domain model and persistent repository +- [x] `01-build-state-domain.md` — build result domain model and persistent repository - [ ] `02-git-gateway.md` — full git access layer (fetch, branches, commits, checkout) - [ ] `03-gitea-client.md` — Gitea API client for commit statuses