From 36fdffe6441e0351cf0bcaccf895287b366b005d Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 9 Aug 2026 15:25:57 +0200 Subject: [PATCH] build: make the Makefile aware that this repo needs codegen The suite reported 26 passed and 17 failed, which reads as broken tests and was actually a missing build step. *.freezed.dart and lib/**/*.g.dart are gitignored, so a fresh tree has none of them and most of the suite fails to compile rather than to assert. After running build_runner the same suite is 452 passed, unchanged. setup now runs pub get then generate, and generate exists on its own for after a model change. test guards on a known generated file and says which command fixes it, because "cannot compile" and "assertion failed" are different problems and the runner presents them identically. Co-Authored-By: Claude --- Makefile | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a787b43..36d7487 100644 --- a/Makefile +++ b/Makefile @@ -13,13 +13,27 @@ help: ## Show this help | awk 'BEGIN{FS=":.*?## "}{printf " \033[36m%-14s\033[0m %s\n", $$1, $$2}' .PHONY: setup -setup: ## Fetch package dependencies +setup: ## Fetch dependencies and generate code (run this after a fresh clone) flutter pub get + $(MAKE) generate + +.PHONY: generate +generate: ## Regenerate freezed/json_serializable/riverpod sources + dart run build_runner build --delete-conflicting-outputs .PHONY: test test: ## Run the widget and unit tests + @test -f lib/core/auth/user_preferences.freezed.dart \ + || { echo "FAIL — generated sources missing; run: make setup"; exit 1; } flutter test +# Why the guard above: *.freezed.dart and lib/**/*.g.dart are gitignored, so a +# fresh clone has none of them and most of the suite fails to compile rather +# than to assert. On 2026-08-09 that read as "26 passed, 17 failed" — which +# looks like broken tests and is actually a missing build step. After +# generating, the same suite is 452 passed. A test run that cannot compile +# should say so in those words. + .PHONY: lint lint: ## Static analysis (analysis_options.yaml at the repo root) flutter analyze