-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy pathMakefile
More file actions
102 lines (73 loc) · 3.46 KB
/
Copy pathMakefile
File metadata and controls
102 lines (73 loc) · 3.46 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
NAME=vmware
BINARY=packer-plugin-${NAME}
PLUGIN_FQN="$(shell grep -E '^module' <go.mod | sed -E 's/module *//')"
COUNT?=1
TEST?=$(shell go list ./...)
HASHICORP_PACKER_PLUGIN_SDK_VERSION?=$(shell go list -m github.com/hashicorp/packer-plugin-sdk | cut -d " " -f2)
.PHONY: dev build test install-packer-sdc plugin-check testacc generate docs-deps docs-prepare docs-test docs-test-links docs-test-internal-links docs-test-admonitions docs-test-example-labels docs-test-group-example-tabs docs-test-normalize docs-test-github-alerts docs-build docs-serve docs-serve-version docs-serve-mike docs-serve-mike-only docs-backfill
build:
@go build -o ${BINARY}
dev:
@go build -ldflags="-X '${PLUGIN_FQN}/version.VersionPrerelease=dev'" -o '${BINARY}'
packer plugins install --path ${BINARY} "$(shell echo "${PLUGIN_FQN}" | sed 's/packer-plugin-//')"
test:
@go test -race -count $(COUNT) $(TEST) -timeout=3m
install-packer-sdc: ## Install packer sofware development command
@go install github.com/hashicorp/packer-plugin-sdk/cmd/packer-sdc@${HASHICORP_PACKER_PLUGIN_SDK_VERSION}
plugin-check: install-packer-sdc build
@packer-sdc plugin-check ${BINARY}
testacc: dev
@PACKER_ACC=1 go test -count $(COUNT) -v $(TEST) -timeout=120m
generate: install-packer-sdc
@go generate ./...
@go fmt ./...
@rm -rf .docs
@packer-sdc renderdocs -src "docs" -partials docs-partials/ -dst ".docs/"
@./.web-docs/scripts/compile-to-webdocs.sh "." ".docs" ".web-docs" "hashicorp"
@rm -r ".docs"
DOCS_VENV?=$(CURDIR)/docs-site/.venv
DOCS_PYTHON=$(DOCS_VENV)/bin/python
DOCS_PIP=$(DOCS_VENV)/bin/pip
docs-deps:
@test -d "$(DOCS_VENV)" || python3 -m venv "$(DOCS_VENV)"
@"$(DOCS_PIP)" install -r docs-site/requirements.txt
docs-prepare:
@./docs-site/scripts/prepare-docs.sh
docs-test:
@./docs-site/scripts/test/test-all.sh
docs-test-links:
@./docs-site/scripts/test/test-rewrite-integration-links.sh
docs-test-internal-links:
@./docs-site/scripts/test/test-fix-internal-links.sh
docs-test-admonitions:
@./docs-site/scripts/test/test-convert-admonitions.sh
docs-test-example-labels:
@./docs-site/scripts/test/test-format-example-labels.sh
docs-test-group-example-tabs:
@./docs-site/scripts/test/test-group-example-tabs.sh
docs-test-normalize:
@./docs-site/scripts/test/test-normalize-list-spacing.sh
docs-test-strip-codegen:
@./docs-site/scripts/test/test-strip-codegen-comments.sh
docs-test-repair-fences:
@./docs-site/scripts/test/test-repair-code-fences.sh
docs-test-stage-markdown:
@./docs-site/scripts/test/test-stage-markdown.sh
docs-test-github-alerts:
@./docs-site/scripts/test/test-convert-github-alerts.sh
docs-build: generate docs-deps docs-prepare
@cd docs-site && "$(DOCS_VENV)/bin/zensical" build --config-file zensical.build.toml
docs-serve: generate docs-deps docs-prepare
@cd docs-site && "$(DOCS_VENV)/bin/zensical" serve --config-file zensical.build.toml
docs-serve-version: docs-deps
@test -n "$(VERSION)" || (echo "VERSION is required, e.g. make docs-serve-version VERSION=2.1.0" && exit 1)
@rm -rf .web-docs
@git checkout "v$(VERSION)" -- .web-docs
@INCLUDE_EXTRA=true ./docs-site/scripts/prepare-docs.sh
@cd docs-site && "$(DOCS_VENV)/bin/zensical" serve --config-file zensical.build.toml
docs-serve-mike: generate docs-deps
@[ -z "$(VERSIONS)" ] || export MIKE_PREVIEW_VERSIONS="$(VERSIONS)"; ./docs-site/scripts/mike-preview.sh
docs-serve-mike-only: docs-deps
@./docs-site/scripts/mike-preview.sh --serve-only
docs-backfill: docs-deps
@./docs-site/scripts/mike-backfill.sh $(VERSIONS)