implemented 01-build-state-domain: add execution notes and jackson-datatype-jsr310 dependency

This commit is contained in:
Michael Hoennig
2026-07-07 06:53:04 +02:00
parent 38e080814e
commit f4a6ec9194
3 changed files with 12 additions and 1 deletions
+1
View File
@@ -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")
+10
View File
@@ -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.
+1 -1
View File
@@ -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