From: Simon Brandhof Date: Mon, 27 Jun 2011 10:36:46 +0000 (+0000) Subject: SONARPLUGINS-1220 command-line properties must override global and project settings X-Git-Tag: 2.5-rc1~339 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=833531ea40bad147190298e84a6720591f9352f5;p=sonar-scanner-cli.git SONARPLUGINS-1220 command-line properties must override global and project settings --- diff --git a/src/main/java/org/sonar/runner/Main.java b/src/main/java/org/sonar/runner/Main.java index 1eb8b77..8320090 100644 --- a/src/main/java/org/sonar/runner/Main.java +++ b/src/main/java/org/sonar/runner/Main.java @@ -51,11 +51,15 @@ public final class Main { } static Properties loadProperties(String[] args) { - Properties props = parseArguments(args); - props.putAll(System.getProperties()); - props.putAll(loadRunnerProperties(props)); - props.putAll(loadProjectProperties(props)); - return props; + Properties commandLineProps = new Properties(); + commandLineProps.putAll(System.getProperties()); + commandLineProps.putAll(parseArguments(args)); + + Properties result = new Properties(); + result.putAll(loadRunnerProperties(commandLineProps)); + result.putAll(loadProjectProperties(commandLineProps)); + result.putAll(commandLineProps); + return result; } static Properties loadRunnerProperties(Properties props) { @@ -69,7 +73,7 @@ public final class Main { static Properties loadProjectProperties(Properties props) { File settingsFile = locatePropertiesFile(props, "project.home", "sonar-project.properties", "project.settings"); - if (settingsFile.isFile() && settingsFile.exists()) { + if (settingsFile!=null && settingsFile.isFile() && settingsFile.exists()) { log("Project settings: " + settingsFile.getAbsolutePath()); return toProperties(settingsFile); }