Repository navigation
8000
More file actions
Expand file tree
/
Copy pathMakefile
More file actions
78 lines (53 loc) · 2.93 KB
/
Copy pathMakefile
File metadata and controls
78 lines (53 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
SHELL := /bin/sh
.DEFAULT_GOAL := help
.PHONY: help bootstrap tooling-bootstrap tooling-check hooks format \
format-check lint typecheck test-unit test-integration test-e2e test \
build build-android build-web build-ios build-macos test-ios-native \
test-macos-native \
verify-android-release-signing check
platform_checks :=
ifeq ($(shell uname -s),Darwin)
platform_checks := build-ios test-ios-native build-macos test-macos-native
endif
help: ## Show the repository command contract.
@awk 'BEGIN {FS = ":.*## "; printf "OpenGlucose engineering commands:\n\n"} /^[a-zA-Z0-9_-]+:.*## / {printf " %-18s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
bootstrap: ## Restore the locked app and resolve library dependencies.
@./scripts/flutter-workspace.sh doctor
@./scripts/flutter-workspace.sh pub-get
tooling-bootstrap: ## Install checksum-pinned repository quality tools.
@./scripts/install-quality-tools.sh
tooling-check: tooling-bootstrap ## Run ShellCheck and actionlint with pinned versions.
@./scripts/check-tooling.sh
hooks: ## Install the pinned Lefthook Git hooks.
@./scripts/install-lefthook.sh
format: ## Format Dart source in the app and every package.
@./scripts/flutter-workspace.sh format
format-check: ## Check Dart formatting without modifying files.
@./scripts/flutter-workspace.sh format-check
lint: ## Run each package's configured analyzer and lints.
@./scripts/flutter-workspace.sh analyze
typecheck: ## Run Dart/Flutter static type analysis.
@./scripts/flutter-workspace.sh analyze
test-unit: ## Run app widget/unit tests and every package unit test.
@./scripts/flutter-workspace.sh test-unit
test-integration: ## Run every tagged or directory-based integration test.
@./scripts/flutter-workspace.sh test-integration
test-e2e: ## Report the explicitly deferred device end-to-end lane.
@./scripts/flutter-workspace.sh test-e2e
test: test-unit test-integration ## Run all locally configured automated tests.
build: build-android build-web ## Build the portable Android and web targets.
build-android: ## Build the Android debug APK.
@./scripts/flutter-workspace.sh build-android
build-web: ## Build the web demo.
@./scripts/flutter-workspace.sh build-web
build-ios: ## Build unsigned iOS and verify the native lockfile is unchanged.
@./scripts/flutter-workspace.sh build-ios
build-macos: ## Build the ad-hoc-signed, non-notarized macOS preview.
@./scripts/flutter-workspace.sh build-macos
test-ios-native: ## Run RunnerTests on the pinned iOS simulator destination.
@./scripts/flutter-workspace.sh test-ios-native
test-macos-native: ## Run the macOS RunnerTests on this Mac.
@./scripts/flutter-workspace.sh test-macos-native
verify-android-release-signing: ## Prove Android release signing fails closed without credentials.
@./scripts/flutter-workspace.sh verify-android-release-signing
check: tooling-check format-check lint test build verify-android-release-signing $(platform_checks) ## Run every required CI gate supported by this host.