Skip to content

Commit f3db805

Browse files
authored
Add a build parameter to handle warnings as errors (#591)
To handle warnings as errors when building, use make. To allow warnings, use make WARNINGS_AS_ERRORS=false test. Also see apple/containerization#271.
1 parent 98402bf commit f3db805

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

Makefile

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
# Version and build configuration variables
1616
BUILD_CONFIGURATION ?= debug
17+
WARNINGS_AS_ERRORS ?= true
18+
SWIFT_CONFIGURATION = $(if $(filter-out false,$(WARNINGS_AS_ERRORS)),-Xswiftc -warnings-as-errors)
1719
export RELEASE_VERSION ?= $(shell git describe --tags --always)
1820
export GIT_COMMIT := $(shell git rev-parse HEAD)
1921

@@ -51,7 +53,7 @@ all: init-block
5153
build:
5254
@echo Building container binaries...
5355
@$(SWIFT) --version
54-
@$(SWIFT) build -c $(BUILD_CONFIGURATION)
56+
@$(SWIFT) build -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION)
5557

5658
.PHONY: container
5759
# Install binaries under project directory
@@ -127,7 +129,7 @@ dsym:
127129

128130
.PHONY: test
129131
test:
130-
@$(SWIFT) test -c $(BUILD_CONFIGURATION) --skip TestCLI
132+
@$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --skip TestCLI
131133

132134
.PHONY: install-kernel
133135
install-kernel:
@@ -139,20 +141,20 @@ integration: init-block
139141
@echo Ensuring apiserver stopped before the CLI integration tests...
140142
@bin/container system stop && sleep 3 && scripts/ensure-container-stopped.sh
141143
@echo Running the integration tests...
142-
bin/container system start $(SYSTEM_START_OPTS) && \
144+
@bin/container system start $(SYSTEM_START_OPTS) && \
143145
echo "Starting CLI integration tests" && \
144146
{ \
145147
exit_code=0; \
146-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLINetwork || exit_code=1 ; \
147-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIRunLifecycle || exit_code=1 ; \
148-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIExecCommand || exit_code=1 ; \
149-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLICreateCommand || exit_code=1 ; \
150-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIRunCommand || exit_code=1 ; \
151-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIImagesCommand || exit_code=1 ; \
152-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIRunBase || exit_code=1 ; \
153-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIBuildBase || exit_code=1 ; \
154-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIVolumes || exit_code=1 ; \
155-
$(SWIFT) test -c $(BUILD_CONFIGURATION) --filter TestCLIKernelSet || exit_code=1 ; \
148+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLINetwork || exit_code=1 ; \
149+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunLifecycle || exit_code=1 ; \
150+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIExecCommand || exit_code=1 ; \
151+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLICreateCommand || exit_code=1 ; \
152+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunCommand || exit_code=1 ; \
153+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIImagesCommand || exit_code=1 ; \
154+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunBase || exit_code=1 ; \
155+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIBuildBase || exit_code=1 ; \
156+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIVolumes || exit_code=1 ; \
157+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIKernelSet || exit_code=1 ; \
156158
echo Ensuring apiserver stopped after the CLI integration tests ; \
157159
scripts/ensure-container-stopped.sh ; \
158160
exit $${exit_code} ; \

0 commit comments

Comments
 (0)