From 244ba43def0028deb632e050024cbdd18277fc6e Mon Sep 17 00:00:00 2001 From: Rahul Malik Date: Tue, 14 Feb 2017 21:26:10 -0800 Subject: [PATCH 1/2] Update Makefile to call lint shell script which enforces that SwiftLint is installed. --- Makefile | 3 +-- Utility/lint.sh | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100755 Utility/lint.sh diff --git a/Makefile b/Makefile index 5631fdff..be92be19 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,6 @@ # This makefile exposes targets that unify building, testing and archiving of # PINModel -SWIFT_LINT_EXEC=`which swiftlint` .PHONY: all clean build test archive @@ -11,7 +10,7 @@ clean: swift build --clean lint: - $(SWIFT_LINT_EXEC) lint --reporter emoji + ./Utility/lint.sh build: lint swift build diff --git a/Utility/lint.sh b/Utility/lint.sh new file mode 100755 index 00000000..b60cf511 --- /dev/null +++ b/Utility/lint.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +if which swiftlint >/dev/null; then + swiftlint lint --reporter emoji +else + echo "warning: SwiftLint not installed, download from + https://github.com/realm/SwiftLint" + exit 1 +fi From 6a4ee4dd55ffaadaedc45a5129b498b9301d61a7 Mon Sep 17 00:00:00 2001 From: Rahul Malik Date: Tue, 14 Feb 2017 21:57:53 -0800 Subject: [PATCH 2/2] Better handling of SwiftLint errors. Force build to fail on warnings --- Utility/lint.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Utility/lint.sh b/Utility/lint.sh index b60cf511..ed031b8f 100755 --- a/Utility/lint.sh +++ b/Utility/lint.sh @@ -1,9 +1,15 @@ #!/bin/sh if which swiftlint >/dev/null; then - swiftlint lint --reporter emoji + LINT_ERRS=`swiftlint lint --reporter emoji --quiet` + if [[ $LINT_ERRS != "" ]]; then + echo "Error: Fix lint errors from swiftlint" + echo $LINT_ERRS + exit 1 + else + echo "SwiftLint finished: No errors or warnings found." + fi else - echo "warning: SwiftLint not installed, download from - https://github.com/realm/SwiftLint" + echo "Warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" exit 1 fi