aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorEvgeny Mandrikov <mandrikov@gmail.com>2011-10-25 00:24:26 +0400
committerEvgeny Mandrikov <mandrikov@gmail.com>2011-10-25 01:03:06 +0400
commit1c9627f7a7b328eb38aa0094a4d2bf58512124ad (patch)
tree882f03b02a57b9bebeba6232a875c186bfb86be7 /sonar-plugin-api
parentb01742afa2b2a2e14af43853b635b113f7f0a77b (diff)
downloadsonarqube-1c9627f7a7b328eb38aa0094a4d2bf58512124ad.tar.gz
sonarqube-1c9627f7a7b328eb38aa0094a4d2bf58512124ad.zip
SONAR-2879 Trim paths (sources, tests, binaries, libraries) before usage
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java20
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java18
2 files changed, 31 insertions, 7 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java
index fa71a80ab73..cccd3b62c50 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java
@@ -157,7 +157,7 @@ public final class ProjectDefinition implements BatchComponent {
public List<String> getSourceDirs() {
String sources = properties.getProperty(SOURCE_DIRS_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
/**
@@ -219,12 +219,12 @@ public final class ProjectDefinition implements BatchComponent {
public List<String> getSourceFiles() {
String sources = properties.getProperty(SOURCE_FILES_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
public List<String> getTestDirs() {
String sources = properties.getProperty(TEST_DIRS_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
/**
@@ -286,12 +286,12 @@ public final class ProjectDefinition implements BatchComponent {
public List<String> getTestFiles() {
String sources = properties.getProperty(TEST_FILES_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
public List<String> getBinaries() {
String sources = properties.getProperty(BINARIES_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
/**
@@ -310,7 +310,7 @@ public final class ProjectDefinition implements BatchComponent {
public List<String> getLibraries() {
String sources = properties.getProperty(LIBRARIES_PROPERTY, "");
- return Arrays.asList(StringUtils.split(sources, SEPARATOR));
+ return trim(StringUtils.split(sources, SEPARATOR));
}
/**
@@ -361,4 +361,12 @@ public final class ProjectDefinition implements BatchComponent {
public List<ProjectDefinition> getSubProjects() {
return subProjects;
}
+
+ private static List<String> trim(String[] strings) {
+ List<String> result = Lists.newArrayList();
+ for (String s : strings) {
+ result.add(StringUtils.trim(s));
+ }
+ return result;
+ }
}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java
index 6c3d59a9452..d62fd9268c9 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java
@@ -95,6 +95,23 @@ public class ProjectDefinitionTest {
assertThat(def.getLibraries().size(), is(0));
}
+ /**
+ * See SONAR-2879
+ */
+ @Test
+ public void shouldTrimPaths() {
+ ProjectDefinition def = ProjectDefinition.create();
+ def.setProperty(ProjectDefinition.SOURCE_DIRS_PROPERTY, "src1, src2 , with whitespace");
+ def.setProperty(ProjectDefinition.TEST_DIRS_PROPERTY, "test1, test2 , with whitespace");
+ def.setProperty(ProjectDefinition.BINARIES_PROPERTY, "bin1, bin2 , with whitespace");
+ def.setProperty(ProjectDefinition.LIBRARIES_PROPERTY, "lib1, lib2 , with whitespace");
+
+ assertFiles(def.getSourceDirs(), "src1", "src2", "with whitespace");
+ assertFiles(def.getTestDirs(), "test1", "test2", "with whitespace");
+ assertFiles(def.getBinaries(), "bin1", "bin2", "with whitespace");
+ assertFiles(def.getLibraries(), "lib1", "lib2", "with whitespace");
+ }
+
@Test
public void shouldAddDirectoriesAsPath() {
ProjectDefinition def = ProjectDefinition.create();
@@ -132,7 +149,6 @@ public class ProjectDefinitionTest {
assertFiles(def.getSourceFiles(), "src/main/java/foo/Bar.java", "src/main/java/hello/World.java");
assertFiles(def.getTestFiles(), "src/test/java/foo/BarTest.java", "src/test/java/hello/WorldTest.java");
-
}
@Test