Browse Source

SONARUNNER-125 Fix duplicate properties when parsing complexe sonar-project.properties

tags/2.5-rc1
Julien HENRY 9 years ago
parent
commit
8632a8cd83

+ 1
- 1
sonar-runner-dist/src/main/java/org/sonar/runner/Conf.java View File

moduleProps = loadChildConfigFile(parentBaseDir, moduleProps, module); moduleProps = loadChildConfigFile(parentBaseDir, moduleProps, module);


// the child project may have children as well // the child project may have children as well
loadModulesProperties(moduleProps, projectProps, module + ".");
loadModulesProperties(moduleProps, projectProps, prefix + module + ".");
// and finally add this child properties to global props // and finally add this child properties to global props
merge(projectProps, prefix, module, moduleProps); merge(projectProps, prefix, module, moduleProps);
} }

+ 4
- 0
sonar-runner-dist/src/test/java/org/sonar/runner/ConfTest.java View File



assertThat(properties.getProperty("1.sonar.projectName")).isEqualTo("Module 1"); assertThat(properties.getProperty("1.sonar.projectName")).isEqualTo("Module 1");
assertThat(properties.getProperty("1.11.sonar.projectName")).isEqualTo("Module 11"); assertThat(properties.getProperty("1.11.sonar.projectName")).isEqualTo("Module 11");
assertThat(properties.getProperty("1.11.111.sonar.projectName")).isEqualTo("Module 111");
assertThat(properties.getProperty("1.12.sonar.projectName")).isEqualTo("Module 12"); assertThat(properties.getProperty("1.12.sonar.projectName")).isEqualTo("Module 12");
assertThat(properties.getProperty("2.sonar.projectName")).isEqualTo("Module 2"); assertThat(properties.getProperty("2.sonar.projectName")).isEqualTo("Module 2");

// SONARUNNER-125
assertThat(properties.getProperty("11.111.sonar.projectName")).isNull();
} }


@Test @Test

sonar-runner-dist/src/test/resources/org/sonar/runner/ConfTest/shouldSupportDeepModuleConfigurationInRoot/project/module1/module11/placeholder.txt → sonar-runner-dist/src/test/resources/org/sonar/runner/ConfTest/shouldSupportDeepModuleConfigurationInRoot/project/module1/module11/module111/placeholder.txt View File


+ 0
- 0
sonar-runner-dist/src/test/resources/org/sonar/runner/ConfTest/shouldSupportDeepModuleConfigurationInRoot/project/module1/module11/module112/placeholder.txt View File


+ 6
- 0
sonar-runner-dist/src/test/resources/org/sonar/runner/ConfTest/shouldSupportDeepModuleConfigurationInRoot/project/sonar-project.properties View File

1.sonar.modules=11,12 1.sonar.modules=11,12
1.11.sonar.projectBaseDir=module11 1.11.sonar.projectBaseDir=module11
1.11.sonar.projectName=Module 11 1.11.sonar.projectName=Module 11
1.11.sonar.modules=111,112
1.11.111.sonar.projectBaseDir=module111
1.11.111.sonar.projectName=Module 111
1.11.112.sonar.projectBaseDir=module112
1.11.112.sonar.projectName=Module 112

1.12.sonar.projectBaseDir=module12 1.12.sonar.projectBaseDir=module12
1.12.sonar.projectName=Module 12 1.12.sonar.projectName=Module 12



Loading…
Cancel
Save