More verbosity on invalid gerrit config
Change-Id: Iddbd5881abe3d20baab14d8960efc60b7a8fd2fa
diff --git a/src/com/mirantis/mk/Gerrit.groovy b/src/com/mirantis/mk/Gerrit.groovy
index d7a958a..99c91b7 100644
--- a/src/com/mirantis/mk/Gerrit.groovy
+++ b/src/com/mirantis/mk/Gerrit.groovy
@@ -49,7 +49,8 @@
def depth = config.get('depth', 0)
def timeout = config.get('timeout', 20)
- if(_validGerritConfig(config)){
+ def invalidParams = _getInvalidGerritParams(config)
+ if (invalidParams.isEmpty()) {
// default parameters
def scmExtensions = [
[$class: 'CleanCheckout'],
@@ -112,7 +113,7 @@
}
return true
}else{
- throw new Exception("Cannot perform gerrit checkout, given config file is not valid")
+ throw new Exception("Cannot perform gerrit checkout, missed config options: " + invalidParams)
}
return false
}
@@ -240,11 +241,9 @@
return []
}
-def _validGerritConfig(LinkedHashMap config){
- return config.get("gerritScheme","") != null && config.get("gerritScheme","") != "" &&
- config.get("gerritName","") != null && config.get("gerritName","") != "" &&
- config.get("gerritHost","") != null && config.get("gerritHost","") != "" &&
- config.get("gerritPort","") != null && config.get("gerritPort","") != "" &&
- config.get("gerritProject","") != null && config.get("gerritProject","") != "" &&
- config.get("gerritBranch","") != null && config.get("gerritBranch","") != ""
+def _getInvalidGerritParams(LinkedHashMap config){
+ def requiredParams = ["gerritScheme", "gerritName", "gerritHost", "gerritPort", "gerritProject", "gerritBranch"]
+ def missedParams = requiredParams - config.keySet()
+ def badParams = config.subMap(requiredParams).findAll{it.value in [null, '']}.keySet()
+ return badParams + missedParams
}
\ No newline at end of file