Improved the overall implementation of the existing targets in the Makefile file.
This commit is contained in:
parent
ec3c610394
commit
7a0f67713d
44
Makefile
44
Makefile
@ -8,37 +8,55 @@ export $(shell sed 's/=.*//' $(environment_vars))
|
|||||||
|
|
||||||
# --- ARGUMENTS ---
|
# --- ARGUMENTS ---
|
||||||
|
|
||||||
|
override docker?=${CLI_USE_DOCKER}
|
||||||
override tag?=${DOCKER_IMAGE_TAG}
|
override tag?=${DOCKER_IMAGE_TAG}
|
||||||
override platform?=${DOCKER_IMAGE_PLATFORM}
|
override platform?=${DOCKER_IMAGE_PLATFORM}
|
||||||
override config?=${SWIFT_BUILD_CONFIGURATION}
|
override config?=${SWIFT_BUILD_CONFIGURATION}
|
||||||
|
|
||||||
# --- BUILDING ---
|
# --- DEVELOPMENT ---
|
||||||
|
|
||||||
build: build-image remove-image ## Build this package against a Swift docker instance.
|
build: ## Build this package with Swift either locally or in a Docker image.
|
||||||
|
ifeq ($(docker),yes)
|
||||||
build-image:
|
@-docker run \
|
||||||
@docker run \
|
|
||||||
--rm \
|
--rm \
|
||||||
--volume ${PWD}:${DOCKER_VOLUME_TARGET} \
|
--volume ${PWD}:${DOCKER_VOLUME_TARGET} \
|
||||||
--workdir ${DOCKER_VOLUME_TARGET} \
|
--workdir ${DOCKER_VOLUME_TARGET} \
|
||||||
--platform ${platform} \
|
--platform ${platform} \
|
||||||
${DOCKER_IMAGE_NAME}:${tag} \
|
${DOCKER_IMAGE_NAME}:${tag} \
|
||||||
swift build --configuration ${config}
|
swift build --configuration ${config}
|
||||||
|
|
||||||
remove-image:
|
|
||||||
@docker rmi ${DOCKER_IMAGE_NAME}:${tag}
|
@docker rmi ${DOCKER_IMAGE_NAME}:${tag}
|
||||||
|
else
|
||||||
|
@swift build --configuration ${config}
|
||||||
|
endif
|
||||||
|
|
||||||
# --- HOUSEKEEPING ---
|
# --- TESTING ---
|
||||||
|
|
||||||
remove-images: ## Remove all outstanding Swift docker images.
|
test: ## Test this package with Swift either locally or in a Docker image.
|
||||||
@docker images --all | grep ${DOCKER_IMAGE_NAME} | awk '{print $$3}' | xargs docker rmi --force
|
ifeq ($(docker),yes)
|
||||||
|
@-docker run \
|
||||||
|
--rm \
|
||||||
|
--volume ${PWD}:${DOCKER_VOLUME_TARGET} \
|
||||||
|
--workdir ${DOCKER_VOLUME_TARGET} \
|
||||||
|
--platform ${platform} \
|
||||||
|
${DOCKER_IMAGE_NAME}:${tag} \
|
||||||
|
swift test --parallel
|
||||||
|
@docker rmi ${DOCKER_IMAGE_NAME}:${tag}
|
||||||
|
else
|
||||||
|
@swift test --parallel
|
||||||
|
endif
|
||||||
|
|
||||||
clean: ## Clean the build artifacts for the package.
|
# --- HOUSE-KEEPING ---
|
||||||
|
|
||||||
|
clean: ## Clean the build artifacts of the package.
|
||||||
@swift package clean
|
@swift package clean
|
||||||
|
|
||||||
reset: ## Reset the build folder for the package.
|
reset: ## Reset the build folder of the package.
|
||||||
@swift package reset
|
@swift package reset
|
||||||
|
|
||||||
|
flush-images: ## Flush all outstanding Swift docker images.
|
||||||
|
@docker images \
|
||||||
|
--all | grep ${DOCKER_IMAGE_NAME} | awk '{print $$3}' | xargs docker rmi --force
|
||||||
|
|
||||||
# --- HELP ---
|
# --- HELP ---
|
||||||
|
|
||||||
# Outputs the documentation for each of the defined tasks when `help` is called.
|
# Outputs the documentation for each of the defined tasks when `help` is called.
|
||||||
@ -48,4 +66,4 @@ reset: ## Reset the build folder for the package.
|
|||||||
help: ## Prints the written documentation for all the defined tasks.
|
help: ## Prints the written documentation for all the defined tasks.
|
||||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||||
|
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
|
Loading…
x
Reference in New Issue
Block a user