mirror of
https://github.com/anchore/grype
synced 2024-11-14 00:07:08 +00:00
24d5d4ffb2
* upgrade tool management Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * update version file on release Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> --------- Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
43 lines
1.3 KiB
Makefile
43 lines
1.3 KiB
Makefile
TOOL_DIR = .tool
|
|
BINNY = $(TOOL_DIR)/binny
|
|
TASK = $(TOOL_DIR)/task
|
|
|
|
.DEFAULT_GOAL := make-default
|
|
|
|
## Bootstrapping targets #################################
|
|
|
|
# note: we need to assume that binny and task have not already been installed
|
|
$(BINNY):
|
|
@mkdir -p $(TOOL_DIR)
|
|
@curl -sSfL https://raw.githubusercontent.com/anchore/binny/main/install.sh | sh -s -- -b $(TOOL_DIR)
|
|
|
|
# note: we need to assume that binny and task have not already been installed
|
|
.PHONY: task
|
|
$(TASK) task: $(BINNY)
|
|
@$(BINNY) install task -q
|
|
|
|
.PHONY: ci-bootstrap-go
|
|
ci-bootstrap-go:
|
|
go mod download
|
|
|
|
# this is a bootstrapping catch-all, where if the target doesn't exist, we'll ensure the tools are installed and then try again
|
|
%:
|
|
make $(TASK)
|
|
$(TASK) $@
|
|
|
|
## Shim targets #################################
|
|
|
|
.PHONY: make-default
|
|
make-default: $(TASK)
|
|
@# run the default task in the taskfile
|
|
@$(TASK)
|
|
|
|
# for those of us that can't seem to kick the habit of typing `make ...` lets wrap the superior `task` tool
|
|
TASKS := $(shell bash -c "test -f $(TASK) && $(TASK) -l | grep '^\* ' | cut -d' ' -f2 | tr -d ':' | tr '\n' ' '" ) $(shell bash -c "test -f $(TASK) && $(TASK) -l | grep 'aliases:' | cut -d ':' -f 3 | tr '\n' ' ' | tr -d ','")
|
|
|
|
.PHONY: $(TASKS)
|
|
$(TASKS): $(TASK)
|
|
@$(TASK) $@
|
|
|
|
help: $(TASK)
|
|
@$(TASK) -l
|