]> source.dussan.org Git - sonar-scanner-cli.git/commitdiff
SONARPLUGINS-1466 Display all missing mandatory properties
authorEvgeny Mandrikov <mandrikov@gmail.com>
Mon, 19 Dec 2011 16:23:41 +0000 (16:23 +0000)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Mon, 19 Dec 2011 16:23:41 +0000 (16:23 +0000)
src/main/java/org/sonar/runner/Runner.java
src/test/java/org/sonar/runner/RunnerTest.java

index a4d02b8e676ee5d391b69885841482b30229432c..65fdaf3ac4fe2f55621b32670291a119835512df 100644 (file)
@@ -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() {
index 202626987f467bbf131c4e8aac318bcc6238c04c..b4ed37876f07c18d9558800593704b88517205e0 100644 (file)
@@ -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"));
     }
   }