Browse Source

Do not allow to change ProjectDefinition#properties

tags/2.9
Simon Brandhof 13 years ago
parent
commit
ef65872944

+ 2
- 3
sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java View File

@@ -66,9 +66,8 @@ public final class MavenProjectConverter {
*/
static ProjectDefinition convert(MavenProject pom) {
String key = new StringBuilder().append(pom.getGroupId()).append(":").append(pom.getArtifactId()).toString();
ProjectDefinition definition = ProjectDefinition.create();
definition.setProperties(pom.getModel().getProperties())
.setKey(key)
ProjectDefinition definition = ProjectDefinition.create(pom.getModel().getProperties());
definition.setKey(key)
.setVersion(pom.getVersion())
.setName(pom.getName())
.setDescription(pom.getDescription())

+ 2
- 3
sonar-batch/src/main/java/org/sonar/batch/bootstrapper/ProjectDefinition.java View File

@@ -42,10 +42,9 @@ public class ProjectDefinition {
* @param properties project properties
*/
public ProjectDefinition(File baseDir, File workDir, Properties properties) {
target = org.sonar.api.batch.bootstrap.ProjectDefinition.create()
target = org.sonar.api.batch.bootstrap.ProjectDefinition.create(properties)
.setBaseDir(baseDir)
.setWorkDir(workDir)
.setProperties(properties);
.setWorkDir(workDir);
}

public File getBaseDir() {

+ 9
- 10
sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java View File

@@ -54,20 +54,16 @@ public final class ProjectDefinition implements BatchComponent {
private List<ProjectDefinition> subProjects = Lists.newArrayList();
private List<Object> containerExtensions = Lists.newArrayList();

private ProjectDefinition() {
}

public static ProjectDefinition create() {
return new ProjectDefinition();
private ProjectDefinition(Properties p) {
this.properties = p;
}

public ProjectDefinition setProperties(Properties p) {
this.properties = p;
return this;
public static ProjectDefinition create(Properties properties) {
return new ProjectDefinition(properties);
}

public File getBaseDir() {
return baseDir;
public static ProjectDefinition create() {
return new ProjectDefinition(new Properties());
}

public ProjectDefinition setBaseDir(File baseDir) {
@@ -75,6 +71,9 @@ public final class ProjectDefinition implements BatchComponent {
return this;
}

public File getBaseDir() {
return baseDir;
}
public ProjectDefinition setWorkDir(File workDir) {
this.workDir = workDir;
return this;

+ 2
- 3
sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java View File

@@ -30,7 +30,6 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.hasItem;

public class ProjectDefinitionTest {

@@ -56,12 +55,12 @@ public class ProjectDefinitionTest {
def.setKey("myKey");
assertThat(def.getName(), is("Unnamed - myKey"));
}

@Test
public void shouldGetKeyFromProperties() {
Properties props = new Properties();
props.setProperty(CoreProperties.PROJECT_KEY_PROPERTY, "foo");
ProjectDefinition def = ProjectDefinition.create();
def.setProperties(props);
ProjectDefinition def = ProjectDefinition.create(props);
assertThat(def.getKey(), is("foo"));
}


Loading…
Cancel
Save