-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
49 lines (33 loc) · 1.28 KB
/
Makefile
File metadata and controls
49 lines (33 loc) · 1.28 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
SOURCE_FILES = Makefile cookiecutter.json {{cookiecutter.github_repo}}/* {{cookiecutter.github_repo}}/*/*
GENERATED_PROJECT := my-project
# MAIN #########################################################################
.PHONY: ci
ci: build ## CI Build: Test Sample
make install -C $(GENERATED_PROJECT)
cd $(GENERATED_PROJECT) && uv run poe test
cd $(GENERATED_PROJECT) && uv run poe check
# DEPENDENCIES #################################################################
.PHONY: install
install: lock ## Install project dependencies
@mkdir -p .cache
uv venv
uv pip install -r pyproject.toml
.PHONY: lock
lock: pyproject.toml
uv lock
# BUILD ########################################################################
.PHONY: build
build: clean install $(GENERATED_PROJECT) ## Generate Sample
$(GENERATED_PROJECT): $(SOURCE_FILES)
@cat cookiecutter.json
@uv run cookiecutter . --no-input --overwrite-if-exists
@mkdir -p $(GENERATED_PROJECT)
@touch $(GENERATED_PROJECT)
# GENERATE ######################################################################
.PHONY: generate
generate: clean install
uv run cookiecutter .
# CLEANUP ######################################################################
.PHONY: clean
clean: ## Delete all generated and temporary files
@rm -rf $(GENERATED_PROJECT)