import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.batch.bootstrap.BootstrapContainer;
import org.sonar.batch.bootstrap.BootstrapProperties;
private LoggingConfiguration logging;
private List<Object> components;
private Map<String, String> bootstrapProperties = Maps.newHashMap();
- /**
- * @deprecated since 3.7
- */
- @Deprecated
- private ProjectReactor projectReactor;
private Batch(Builder builder) {
components = Lists.newArrayList();
}
if (builder.bootstrapProperties != null) {
bootstrapProperties.putAll(builder.bootstrapProperties);
- } else {
- if (builder.projectReactor != null) {
- // For backward compatibility, previously all properties were set in root project
- bootstrapProperties.putAll(Maps.fromProperties(builder.projectReactor.getRoot().getProperties()));
- }
}
- projectReactor = builder.projectReactor;
if (builder.isEnableLoggingConfiguration()) {
logging = LoggingConfiguration.create(builder.environment).setProperties(bootstrapProperties);
}
private void startBatch() {
List<Object> all = Lists.newArrayList(components);
all.add(new BootstrapProperties(bootstrapProperties));
- if (projectReactor != null) {
- all.add(projectReactor);
- }
BootstrapContainer bootstrapContainer = BootstrapContainer.create(all);
bootstrapContainer.execute();
public static final class Builder {
private Map<String, String> bootstrapProperties;
- /**
- * @deprecated since 3.7
- */
- @Deprecated
- private ProjectReactor projectReactor;
private EnvironmentInformation environment;
private List<Object> components = Lists.newArrayList();
private boolean enableLoggingConfiguration = true;
private Builder() {
}
- /**
- * @deprecated since 3.7
- */
- @Deprecated
- public Builder setProjectReactor(ProjectReactor projectReactor) {
- this.projectReactor = projectReactor;
- return this;
- }
-
public Builder setEnvironment(EnvironmentInformation env) {
this.environment = env;
return this;
return this;
}
- /**
- * @deprecated since 3.7 use {@link #setBootstrapProperties(Map)}
- */
- @Deprecated
- public Builder setGlobalProperties(Map<String, String> globalProperties) {
- this.bootstrapProperties = globalProperties;
- return this;
- }
-
public Builder setBootstrapProperties(Map<String, String> bootstrapProperties) {
this.bootstrapProperties = bootstrapProperties;
return this;
package org.sonar.batch.bootstrapper;
import org.junit.Test;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
private Batch newBatch() {
return Batch.builder()
.setEnvironment(new EnvironmentInformation("Gradle", "1.0"))
- .setProjectReactor(new ProjectReactor(org.sonar.api.batch.bootstrap.ProjectDefinition.create()))
.addComponent("fake")
.build();
}
@Test(expected = IllegalStateException.class)
public void shouldFailIfNullComponents() {
Batch.builder()
- .setProjectReactor(new ProjectReactor(org.sonar.api.batch.bootstrap.ProjectDefinition.create()))
.setEnvironment(new EnvironmentInformation("Gradle", "1.0"))
.setComponents(null)
.build();
public void shouldDisableLoggingConfiguration() {
Batch batch = Batch.builder()
.setEnvironment(new EnvironmentInformation("Gradle", "1.0"))
- .setProjectReactor(new ProjectReactor(org.sonar.api.batch.bootstrap.ProjectDefinition.create()))
.addComponent("fake")
.setEnableLoggingConfiguration(false)
.build();