From 4590c8f64266b2ac46e61a235d9b091e2fcbd9af Mon Sep 17 00:00:00 2001 From: Franco Meloni Date: Mon, 16 Dec 2019 10:43:58 +0000 Subject: [PATCH] Print specific error message for failed pre checks --- Package.resolved | 2 +- Sources/Rocket/main.swift | 6 ++++-- Sources/RocketLib/Checks/Check.swift | 3 +++ Sources/RocketLib/Checks/CleanGitStatusCheck.swift | 4 ++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Package.resolved b/Package.resolved index c14b42d..c51ac94 100644 --- a/Package.resolved +++ b/Package.resolved @@ -12,7 +12,7 @@ }, { "package": "Logger", - "repositoryURL": "https://github.com/f-meloni/Logger", + "repositoryURL": "https://github.com/shibapm/Logger", "state": { "branch": null, "revision": "53c3ecca5abe8cf46697e33901ee774236d94cce", diff --git a/Sources/Rocket/main.swift b/Sources/Rocket/main.swift index 4e0b17a..5bdeece 100644 --- a/Sources/Rocket/main.swift +++ b/Sources/Rocket/main.swift @@ -41,8 +41,10 @@ if let rocketYamlPath = RocketFileFinder.rocketFilePath() { let checks = ChecksParser.parsePreReleaseChecks(fromDictionary: dictionary) let failedChecks = checks.filter { !$0.check() } -guard failedChecks.count == 0 else { - logger.logError("Pre release checks failed") +guard failedChecks.isEmpty else { + logger.logError("Pre release checks failed", + failedChecks.map { $0.errorMessage }.joined(separator: "\n"), + separator: "\n") exit(1) } diff --git a/Sources/RocketLib/Checks/Check.swift b/Sources/RocketLib/Checks/Check.swift index d037b77..d714f25 100644 --- a/Sources/RocketLib/Checks/Check.swift +++ b/Sources/RocketLib/Checks/Check.swift @@ -1,4 +1,7 @@ public protocol Check { init() + + var errorMessage: String { get } + func check() -> Bool } diff --git a/Sources/RocketLib/Checks/CleanGitStatusCheck.swift b/Sources/RocketLib/Checks/CleanGitStatusCheck.swift index 6d066d9..21e098d 100644 --- a/Sources/RocketLib/Checks/CleanGitStatusCheck.swift +++ b/Sources/RocketLib/Checks/CleanGitStatusCheck.swift @@ -2,6 +2,10 @@ import Foundation struct CleanGitStatusCheck: Check { let launcher: ScriptLaunching + + var errorMessage: String { + return "Your git status contains not committed code, please remove it or commit it" + } init() { self.init(launcher: ScriptLauncher())