Browse Source

Sonar Runner - Replace use of deprecated code, preparing for SONARPLUGINS-2202

tags/2.5-rc1
Fabrice Bellingard 11 years ago
parent
commit
b76a02be68

+ 6
- 0
pom.xml View File

@@ -79,6 +79,12 @@
<version>${sonar.buildVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-plugin-api</artifactId>
<version>${sonar.buildVersion}</version>
<scope>provided</scope>
</dependency>
<!-- Unit tests -->
<dependency>
<groupId>org.codehaus.sonar</groupId>

+ 24
- 26
src/main/java/org/sonar/runner/Launcher.java View File

@@ -35,11 +35,11 @@ import org.apache.commons.io.filefilter.FileFileFilter;
import org.apache.commons.io.filefilter.WildcardFileFilter;
import org.apache.commons.lang.StringUtils;
import org.slf4j.LoggerFactory;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.utils.SonarException;
import org.sonar.batch.Batch;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.batch.bootstrapper.ProjectDefinition;
import org.sonar.batch.bootstrapper.Reactor;

import java.io.File;
import java.io.FileFilter;
@@ -73,9 +73,29 @@ public class Launcher {
executeBatch(project, initialConfiguration);
}

@VisibleForTesting
protected ProjectDefinition defineProject() {
File baseDir = runner.getProjectDir();
Properties properties = runner.getProperties();
ProjectDefinition definition = ProjectDefinition.create(properties)
.setBaseDir(baseDir)
.setWorkDir(runner.getWorkDir())
.addSourceDirs(getList(properties, "sources"))
.addTestDirs(getList(properties, "tests"));
for (String dir : getList(properties, "binaries")) {
definition.addBinaryDir(dir);
}
for (String pattern : getList(properties, "libraries")) {
for (File file : getLibraries(baseDir, pattern)) {
definition.addLibrary(file.getAbsolutePath());
}
}
return definition;
}

private void executeBatch(ProjectDefinition project, Configuration initialConfiguration) {
Reactor reactor = new Reactor(project);
Batch batch = new Batch(initialConfiguration, new EnvironmentInformation("Runner", runner.getRunnerVersion()), reactor);
ProjectReactor reactor = new ProjectReactor(project);
Batch batch = Batch.create(reactor, initialConfiguration, new EnvironmentInformation("Runner", runner.getRunnerVersion()));
batch.execute();
}

@@ -109,28 +129,6 @@ public class Launcher {
return showSql ? "DEBUG" : "WARN";
}

@VisibleForTesting
protected ProjectDefinition defineProject() {
File baseDir = runner.getProjectDir();
Properties properties = runner.getProperties();
ProjectDefinition definition = new ProjectDefinition(baseDir, runner.getWorkDir(), properties);
for (String dir : getList(properties, "sources")) {
definition.addSourceDir(dir);
}
for (String dir : getList(properties, "tests")) {
definition.addTestDir(dir);
}
for (String dir : getList(properties, "binaries")) {
definition.addBinaryDir(dir);
}
for (String pattern : getList(properties, "libraries")) {
for (File file : getLibraries(baseDir, pattern)) {
definition.addLibrary(file.getAbsolutePath());
}
}
return definition;
}

/**
* Returns files matching specified pattern.
* Visibility has been relaxed to make code testable.

+ 2
- 0
src/main/java/org/sonar/runner/RunnerException.java View File

@@ -24,6 +24,8 @@ package org.sonar.runner;
*/
public class RunnerException extends RuntimeException {

private static final long serialVersionUID = 4810407777585753030L;

public RunnerException(String message) {
super(message);
}

+ 1
- 1
src/test/java/org/sonar/runner/LauncherTest.java View File

@@ -22,7 +22,7 @@ package org.sonar.runner;
import org.apache.commons.configuration.BaseConfiguration;
import org.apache.commons.configuration.Configuration;
import org.junit.Test;
import org.sonar.batch.bootstrapper.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectDefinition;

import java.io.File;
import java.util.Properties;

Loading…
Cancel
Save