aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Mandrikov <mandrikov@gmail.com>2011-12-19 16:23:41 +0000
committerEvgeny Mandrikov <mandrikov@gmail.com>2011-12-19 16:23:41 +0000
commitcbb8754679d5c3094d6faa8e647362527944d237 (patch)
treedc852b673d23c064ec33edb00a54ae93dd6eaaeb
parente95b8201821b4876528c4f9dbfd7d1229cb68d84 (diff)
downloadsonar-scanner-cli-cbb8754679d5c3094d6faa8e647362527944d237.tar.gz
sonar-scanner-cli-cbb8754679d5c3094d6faa8e647362527944d237.zip
SONARPLUGINS-1466 Display all missing mandatory properties
-rw-r--r--src/main/java/org/sonar/runner/Runner.java9
-rw-r--r--src/test/java/org/sonar/runner/RunnerTest.java2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/org/sonar/runner/Runner.java b/src/main/java/org/sonar/runner/Runner.java
index a4d02b8..65fdaf3 100644
--- a/src/main/java/org/sonar/runner/Runner.java
+++ b/src/main/java/org/sonar/runner/Runner.java
@@ -79,11 +79,18 @@ public final class Runner {
}
void checkMandatoryProperties() {
+ StringBuilder missing = new StringBuilder();
for (String mandatoryProperty : MANDATORY_PROPERTIES) {
if (!properties.containsKey(mandatoryProperty)) {
- throw new RunnerException("You must define mandatory property: " + mandatoryProperty);
+ if (missing.length() > 0) {
+ missing.append(", ");
+ }
+ missing.append(mandatoryProperty);
}
}
+ if (missing.length() != 0) {
+ throw new RunnerException("You must define mandatory properties: " + missing);
+ }
}
public String getServerURL() {
diff --git a/src/test/java/org/sonar/runner/RunnerTest.java b/src/test/java/org/sonar/runner/RunnerTest.java
index 2026269..b4ed378 100644
--- a/src/test/java/org/sonar/runner/RunnerTest.java
+++ b/src/test/java/org/sonar/runner/RunnerTest.java
@@ -40,7 +40,7 @@ public class RunnerTest {
Runner.create(new Properties()).checkMandatoryProperties();
fail();
} catch (RunnerException e) {
- assertThat(e.getMessage(), is("You must define mandatory property: sonar.projectKey"));
+ assertThat(e.getMessage(), is("You must define mandatory properties: sonar.projectKey, sonar.projectName, sonar.projectVersion, sources"));
}
}