mirror of
https://github.com/anchore/syft.git
synced 2026-11-05 00:46:38 +01:00
* slim down docker cache size Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * remove old centos images Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * troubleshoot test failure Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix wget version ref Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * refactor caching mechanisms Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * add cache cleanup steps Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * simplify deleting cache Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix first clone issue Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * add tool dep Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> --------- Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
44 lines
1.5 KiB
Makefile
44 lines
1.5 KiB
Makefile
BIN=classifiers/bin
|
|
FINGERPRINT_FILE=$(BIN).fingerprint
|
|
|
|
|
|
.DEFAULT_GOAL := fixtures
|
|
|
|
# requirement 1: 'fixtures' goal to generate any and all test fixtures
|
|
fixtures: download
|
|
|
|
# requirement 2: 'fingerprint' goal to determine if the fixture input that indicates any existing cache should be busted
|
|
fingerprint: clean-fingerprint $(FINGERPRINT_FILE)
|
|
|
|
list: ## list all managed binaries and snippets
|
|
go run ./manager list
|
|
|
|
download: ## download only binaries that are not covered by a snippet
|
|
go run ./manager download $(name) --skip-if-covered-by-snippet
|
|
|
|
download-all: ## download all managed binaries
|
|
go run ./manager download
|
|
|
|
add-snippet: ## add a new snippet from an existing binary
|
|
go run ./manager add-snippet
|
|
|
|
# requirement 3: we always need to recalculate the fingerprint based on source regardless of any existing fingerprint
|
|
.PHONY: $(FINGERPRINT_FILE)
|
|
$(FINGERPRINT_FILE): ## prints the sha256sum of the any input to the download command (to determine if there is a cache miss)
|
|
@sha256sum ./config.yaml > $(FINGERPRINT_FILE)
|
|
|
|
# requirement 4: 'clean' goal to remove all generated test fixtures
|
|
clean: ## clean up all downloaded binaries
|
|
rm -rf $(BIN)
|
|
|
|
clean-fingerprint: ## clean up all legacy fingerprint files
|
|
@find $(BIN) -name '*.fingerprint' -delete
|
|
|
|
|
|
## Halp! #################################
|
|
|
|
.PHONY: help
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "$(BOLD)$(CYAN)%-25s$(RESET)%s\n", $$1, $$2}'
|
|
|
|
.PHONY: default list download download-all clean clean-fingerprint add-snippet fingerprint |