Files
vsix_runtime_checks/Makefile
T
2026-05-25 15:00:33 +03:00

88 lines
3.0 KiB
Makefile

export MAIN_TRUNC=no
LOCAL_BUILD=1
FINAL_VERSION=latest
GET_VERSION_DEP=
.PHONY: test test_coverage test_ci lint lint_ci dep fmt build build_scanfeeder build_ci apply_git_hooks postclone precommit clean build_docker_image docker_image_ci help get_version get_build_date
export TEST_BINARY_NAME=vsix_runtime_check
export NAME_REPO="default/vsix_runtime_check"
test: check-tests-docker-image build_docker_image get_version ## Run unittests
@docker run --rm -it -v ${TESTS_PATH}:/tests:ro -v ${TEST_BINARY_PATH}:/tests_binary -e DST_USER_ID=$(shell id -u) -e DST_GROUP_ID=$(shell id -g) -e TEST_BINARY_NAME=${TEST_BINARY_NAME} --name vsix_runtime_check-test plugin-tests > /dev/null
@VSIX_RUNTIME_CHECK_VER=${FINAL_VERSION} ${TEST_BINARY_PATH}/${TEST_BINARY_NAME} -test.v
test_coverage: ## Run unittests with calculating code coverage
@echo "TODO"
test_ci: ## Run unittests as CI
@docker run --rm -it -v ${TESTS_PATH}:/tests:ro -v ${TEST_BINARY_PATH}:/tests_binary -e DST_USER_ID=$(shell id -u) -e DST_GROUP_ID=$(shell id -g) -e TEST_BINARY_NAME=${TEST_BINARY_NAME} --name vsix_runtime_check-test plugin-tests > /dev/null
@VSIX_RUNTIME_CHECK_VER=${VSIX_RUNTIME_CHECK_VER} ${TEST_BINARY_PATH}/${TEST_BINARY_NAME} -test.v
lint: ## Lint the files
ifeq (yes,${MAIN_TRUNC})
@(cd tests && $(LINTER) short)
else
@echo "TODO"
endif
lint_ci: ## Lint the files as CI
ifeq (yes,${MAIN_TRUNC})
@(cd tests && $(LINTER) full)
else
@echo "TODO"
endif
dep: ## Get the dependencies
@echo "TODO"
fmt: ## Format source code
ifeq (yes,${MAIN_TRUNC})
@$(FORMATTER)
else
@echo "TODO"
endif
build: ## Build the binary file from src
@echo "TODO"
build_scanfeeder: ## Build the scanfeeder binary file from src and copy it to tools folder
ifeq (yes,${MAIN_TRUNC})
$(MAKE) -C $(ROOT_DIR)/tools/scanfeeder build
@cp $(ROOT_DIR)/tools/scanfeeder/scanfeeder ./scanfeeder
else
ifeq (yes,$(shell test -f scanfeeder && echo -n yes))
@echo "Using existing scanfeeder"
else
@echo "#!/bin/bash" > ./scanfeeder
@chmod +x ./scanfeeder
endif
endif
build_ci: ## Build the binary file from src as CI
@echo "TODO"
apply_git_hooks: ## copy git hooks to .git folder
@echo "TODO"
postclone: apply_git_hooks dep ## Post clone actions
clean: ## Remove previous build
@echo "TODO"
build_docker_image: build_scanfeeder $(GET_VERSION_DEP) get_build_date ## Build local docker image
@docker build --build-arg DST_USER_ID=$(shell id -u) --build-arg DST_GROUP_ID=$(shell id -g) \
--build-arg LOCAL_BUILD=$(LOCAL_BUILD) --build-arg RELEASE_VERSION="$(FINAL_VERSION)" \
--build-arg BUILD_DATE="$(BUILD_DATE)" -t vsix_runtime_check:$(FINAL_VERSION) .
docker_image_ci: build_scanfeeder ## Build and push docker image from ci
@docker build -t vsix_runtime_check .
@echo "TODO push docker images"
git-submodules-update:
@git submodule sync --recursive
@git submodule update --init --remote --recursive
help: ## Display this help screen
@grep -hE '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'