Run the full build, generate, test pipeline with smart change detection and failure diagnosis.
Run the complete verification pipeline for the Dart-ACDC generator. Detects what changed and only runs the necessary stages.
Determine what changed since the last successful build:
# Get changed files (staged + unstaged)
changed=$(git diff --name-only HEAD 2>/dev/null; git diff --name-only --cached 2>/dev/null)
Classify changes:
generator/src/main/java/ — requires full pipelinegenerator/src/main/resources/dart-acdc/ — skip Java build, run generate + test*test*.mustache — skip generate, re-run build_runner + testsscripts/configs/ — run generate + test./scripts/build.sh
On failure: Report the Maven error, identify the failing class, show the relevant error snippet. Do NOT proceed to next stage.
./scripts/generate-samples.sh
On failure: Report which spec failed, show the generator error. Common issues:
./scripts/test-samples.sh --skip-generate
On failure: Report which sample spec's tests failed, show failing test names and assertions. Distinguish between:
Report:
Pipeline Results:
Build: PASS/FAIL/SKIPPED
Generate: PASS/FAIL/SKIPPED (N specs)
Test: PASS/FAIL/SKIPPED (N tests, M% coverage)
Changes detected: [list of change categories]
Total time: Xs
If all stages pass, also run:
./scripts/verify-cli-options.sh
| What Changed | Build | Generate | Test |
|---|---|---|---|
| Java source | RUN | RUN | RUN |
| Mustache templates | SKIP | RUN | RUN |
| Test templates only | SKIP | SKIP | RUN (with build_runner) |
| configs/ | SKIP | RUN | RUN |
| scripts/ | RUN | RUN | RUN |
| Dart test files | SKIP | SKIP | RUN |
| Nothing | SKIP | SKIP | SKIP (report state) |
When a stage fails, provide: