aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2013-02-13 16:21:45 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2013-02-13 16:31:21 +0100
commitc32688aed22dd11d9ae337a60b92bd45b65127e5 (patch)
treefebeb043c00707d68f5dfbf2fc69aecb30ec4ccd
parent695fca2e7412295fc041ff8d61cf727d35d05ce9 (diff)
downloadsonarqube-c32688aed22dd11d9ae337a60b92bd45b65127e5.tar.gz
sonarqube-c32688aed22dd11d9ae337a60b92bd45b65127e5.zip
Move Maven stuff into a dedicated package
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchSettings.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BootstrapContainer.java4
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/Container.java4
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java6
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskContainer.java4
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/InitializersExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/ScanContainer.java (renamed from sonar-batch/src/main/java/org/sonar/batch/bootstrap/InspectionContainer.java)12
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/ScanTask.java (renamed from sonar-batch/src/main/java/org/sonar/batch/tasks/InspectionTask.java)26
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutor.java (renamed from sonar-batch/src/main/java/org/sonar/batch/AbstractMavenPluginExecutor.java)7
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/FakeMavenPluginExecutor.java (renamed from sonar-batch/src/main/java/org/sonar/batch/FakeMavenPluginExecutor.java)3
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPhaseExecutor.java (renamed from sonar-batch/src/main/java/org/sonar/batch/phases/MavenPhaseExecutor.java)19
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginExecutor.java (renamed from sonar-batch/src/main/java/org/sonar/batch/MavenPluginExecutor.java)2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginsConfigurator.java (renamed from sonar-batch/src/main/java/org/sonar/batch/phases/MavenPluginsConfigurator.java)6
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenProjectConverter.java (renamed from sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java)28
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/tasks/ListTasksTask.java6
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/tasks/Tasks.java3
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskBootstrapContainerTest.java2
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java3
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/ScanContainerTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/bootstrap/InspectionContainerTest.java)16
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutorTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/AbstractMavenPluginExecutorTest.java)3
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPhaseExecutorTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/phases/MavenPhaseExecutorTest.java)27
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/phases/MavenPluginsConfiguratorTest.java)3
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenProjectConverterTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/MavenProjectConverterTest.java)41
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/tasks/TasksTest.java19
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/phases/MavenPluginsConfiguratorTest/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinks/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinks/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/sourceEncoding/pom.xml11
-rw-r--r--sonar-deprecated/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java)2
-rw-r--r--sonar-maven-plugin/src/main/java/org/sonar/maven/Maven2PluginExecutor.java2
-rw-r--r--sonar-maven-plugin/src/main/java/org/sonar/maven/SonarMojo.java2
-rw-r--r--sonar-maven3-plugin/src/main/java/org/sonar/maven3/Maven3PluginExecutor.java2
-rw-r--r--sonar-maven3-plugin/src/main/java/org/sonar/maven3/SonarMojo.java2
47 files changed, 160 insertions, 119 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchSettings.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchSettings.java
index 0131e8b59e9..0ba25a04714 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchSettings.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchSettings.java
@@ -55,7 +55,7 @@ public class BatchSettings extends Settings {
}
@VisibleForTesting
- BatchSettings() {
+ public BatchSettings() {
}
private void init(BootstrapSettings bootstrapSettings, @Nullable ProjectReactor reactor, ServerClient client,
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BootstrapContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BootstrapContainer.java
index 1c69c721c79..1ded5571244 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BootstrapContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BootstrapContainer.java
@@ -23,8 +23,8 @@ import org.apache.commons.configuration.PropertiesConfiguration;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.utils.HttpDownloader;
import org.sonar.api.utils.UriReader;
-import org.sonar.batch.FakeMavenPluginExecutor;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.FakeMavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.core.config.Logback;
import javax.annotation.Nullable;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/Container.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/Container.java
index 45d72ef4599..b3bb30d37d1 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/Container.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/Container.java
@@ -30,6 +30,10 @@ public abstract class Container {
protected ComponentContainer container;
+ public ComponentContainer container() {
+ return container;
+ }
+
/**
* @return this
*/
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
index 6504eeee35d..39a81ebffdb 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
@@ -22,7 +22,7 @@ package org.sonar.batch.bootstrap;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.task.TaskDefinition;
import org.sonar.api.utils.SonarException;
-import org.sonar.batch.tasks.InspectionTask;
+import org.sonar.batch.scan.ScanTask;
import org.sonar.batch.tasks.ListTasksTask;
import org.sonar.batch.tasks.Tasks;
@@ -47,7 +47,7 @@ public class TaskBootstrapContainer extends Container {
}
private void registerCoreTaskDefinitions() {
- container.addSingleton(InspectionTask.DEFINITION);
+ container.addSingleton(ScanTask.DEFINITION);
container.addSingleton(ListTasksTask.DEFINITION);
}
@@ -65,7 +65,7 @@ public class TaskBootstrapContainer extends Container {
private void executeTask(TaskDefinition taskDefinition) {
boolean projectPresent = container.getComponentByType(ProjectReactor.class) != null;
if (ExtensionUtils.requiresProject(taskDefinition.getTask()) && !projectPresent) {
- throw new SonarException("Task " + taskDefinition.getName() + " requires to be run on a project");
+ throw new SonarException("Task '" + taskDefinition.getName() + "' requires to be run on a project");
}
Container childModule = new TaskContainer(taskDefinition, projectPresent);
try {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskContainer.java
index 83fe47a2b02..9c4e23c0a22 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskContainer.java
@@ -46,7 +46,7 @@ import org.sonar.batch.index.LinkPersister;
import org.sonar.batch.index.MeasurePersister;
import org.sonar.batch.index.MemoryOptimizer;
import org.sonar.batch.index.SourcePersister;
-import org.sonar.batch.tasks.InspectionTask;
+import org.sonar.batch.scan.ScanTask;
import org.sonar.batch.tasks.ListTasksTask;
import org.sonar.core.component.ScanGraph;
import org.sonar.core.component.ScanGraphStore;
@@ -135,7 +135,7 @@ public class TaskContainer extends Container {
private void registerCoreTasks() {
container.addSingleton(ListTasksTask.class);
if (projectPresent) {
- container.addSingleton(InspectionTask.class);
+ container.addSingleton(ScanTask.class);
}
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/InitializersExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/InitializersExecutor.java
index f4d58be33e8..7ff686a40d7 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/InitializersExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/InitializersExecutor.java
@@ -28,7 +28,7 @@ import org.sonar.api.batch.maven.DependsUponMavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.TimeProfiler;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
import java.util.Collection;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java b/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java
index 489cdd075bd..9c2a358b0ce 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/Phases.java
@@ -25,6 +25,8 @@ import org.sonar.api.resources.Project;
import org.sonar.batch.events.EventBus;
import org.sonar.batch.index.DefaultIndex;
import org.sonar.batch.index.PersistenceManager;
+import org.sonar.batch.scan.maven.MavenPhaseExecutor;
+import org.sonar.batch.scan.maven.MavenPluginsConfigurator;
import org.sonar.core.component.ScanGraphStore;
import java.util.Collection;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
index e2871b9b632..ee89e9ac2da 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
@@ -29,7 +29,7 @@ import org.sonar.api.batch.SensorContext;
import org.sonar.api.batch.maven.DependsUponMavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.batch.local.DryRunExporter;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
index 4ee128bed38..50813e0f5a2 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
@@ -30,7 +30,7 @@ import org.sonar.api.batch.maven.DependsUponMavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.TimeProfiler;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.batch.events.EventBus;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/InspectionContainer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/ScanContainer.java
index 2885cfd3ffb..35a0273109a 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/InspectionContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/ScanContainer.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.bootstrap;
+package org.sonar.batch.scan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,6 +36,10 @@ import org.sonar.batch.ProfileProvider;
import org.sonar.batch.ProjectTree;
import org.sonar.batch.ResourceFilters;
import org.sonar.batch.ViolationFilters;
+import org.sonar.batch.bootstrap.Container;
+import org.sonar.batch.bootstrap.ExtensionInstaller;
+import org.sonar.batch.bootstrap.ProjectSettings;
+import org.sonar.batch.bootstrap.UnsupportedProperties;
import org.sonar.batch.components.TimeMachineConfiguration;
import org.sonar.batch.events.EventBus;
import org.sonar.batch.index.DefaultIndex;
@@ -51,11 +55,11 @@ import org.sonar.core.qualitymodel.DefaultModelFinder;
import org.sonar.jpa.dao.ProfilesDao;
import org.sonar.jpa.dao.RulesDao;
-public class InspectionContainer extends Container {
- private static final Logger LOG = LoggerFactory.getLogger(InspectionContainer.class);
+public class ScanContainer extends Container {
+ private static final Logger LOG = LoggerFactory.getLogger(ScanContainer.class);
private Project project;
- public InspectionContainer(Project project) {
+ public ScanContainer(Project project) {
this.project = project;
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/tasks/InspectionTask.java b/sonar-batch/src/main/java/org/sonar/batch/scan/ScanTask.java
index 438e55450e8..78c3a392c80 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/tasks/InspectionTask.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/ScanTask.java
@@ -17,44 +17,42 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.tasks;
-
-import org.sonar.batch.bootstrap.InspectionContainer;
+package org.sonar.batch.scan;
import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.resources.Project;
import org.sonar.api.task.Task;
import org.sonar.api.task.TaskDefinition;
import org.sonar.batch.ProjectTree;
+import org.sonar.batch.tasks.RequiresProject;
@RequiresProject
-public class InspectionTask implements Task {
+public class ScanTask implements Task {
public static final String COMMAND = "inspect";
public static final TaskDefinition DEFINITION = TaskDefinition.create()
- .setDescription("Start a Sonar inspection of a project")
- .setName("Sonar project inspection")
- .setCommand(COMMAND)
- .setTask(InspectionTask.class);
+ .setDescription("Scan project and upload report to server")
+ .setName("Project Scan")
+ .setCommand(COMMAND)
+ .setTask(ScanTask.class);
private final ComponentContainer container;
private final ProjectTree projectTree;
- public InspectionTask(ProjectTree projectTree, ComponentContainer container) {
+ public ScanTask(ProjectTree projectTree, ComponentContainer container) {
this.container = container;
this.projectTree = projectTree;
}
public void execute() {
- analyze(projectTree.getRootProject());
+ scan(projectTree.getRootProject());
}
- private void analyze(Project project) {
+ private void scan(Project project) {
for (Project subProject : project.getModules()) {
- analyze(subProject);
+ scan(subProject);
}
-
- InspectionContainer projectModule = new InspectionContainer(project);
+ ScanContainer projectModule = new ScanContainer(project);
try {
ComponentContainer childContainer = container.createChild();
projectModule.init(childContainer);
diff --git a/sonar-batch/src/main/java/org/sonar/batch/AbstractMavenPluginExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutor.java
index a9752543943..d4e84e15831 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/AbstractMavenPluginExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutor.java
@@ -17,19 +17,20 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import org.apache.maven.project.MavenProject;
-import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.api.utils.SonarException;
import org.sonar.api.utils.TimeProfiler;
+import org.sonar.batch.scan.maven.MavenProjectConverter;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
/**
- * Abstract implementation of {@link MavenPluginExecutor} to reduce duplications in concrete implementations for different Maven versions.
+ * Abstract implementation of {@link org.sonar.batch.scan.maven.MavenPluginExecutor} to reduce duplications in concrete implementations for different Maven versions.
*/
public abstract class AbstractMavenPluginExecutor implements MavenPluginExecutor {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/FakeMavenPluginExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/FakeMavenPluginExecutor.java
index 0129cf50fdf..8da673fe5d4 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/FakeMavenPluginExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/FakeMavenPluginExecutor.java
@@ -17,11 +17,12 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
public final class FakeMavenPluginExecutor implements MavenPluginExecutor {
public void execute(Project project, DefaultModuleFileSystem fs, String goal) {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/MavenPhaseExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPhaseExecutor.java
index 87d397d5a30..584530d8aac 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/MavenPhaseExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPhaseExecutor.java
@@ -17,30 +17,31 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.phases;
+package org.sonar.batch.scan.maven;
-import org.apache.commons.lang.StringUtils;
+import com.google.common.base.Strings;
import org.sonar.api.BatchComponent;
-import org.sonar.api.batch.bootstrap.ProjectDefinition;
+import org.sonar.api.config.Settings;
import org.sonar.api.resources.Project;
-import org.sonar.batch.MavenPluginExecutor;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
public class MavenPhaseExecutor implements BatchComponent {
public static final String PROP_PHASE = "sonar.phase";
- private MavenPluginExecutor executor;
- private DefaultModuleFileSystem fs;
+ private final MavenPluginExecutor executor;
+ private final DefaultModuleFileSystem fs;
+ private final Settings settings;
- public MavenPhaseExecutor(DefaultModuleFileSystem fs, MavenPluginExecutor executor) {
+ public MavenPhaseExecutor(DefaultModuleFileSystem fs, MavenPluginExecutor executor, Settings settings) {
this.fs = fs;
this.executor = executor;
+ this.settings = settings;
}
public void execute(Project project) {
- String mavenPhase = (String) project.getProperty(PROP_PHASE);
- if (!StringUtils.isBlank(mavenPhase)) {
+ String mavenPhase = settings.getString(PROP_PHASE);
+ if (!Strings.isNullOrEmpty(mavenPhase)) {
executor.execute(project, fs, mavenPhase);
}
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/MavenPluginExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginExecutor.java
index 760dd4db00b..76bcc85e548 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/MavenPluginExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginExecutor.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import org.sonar.api.BatchComponent;
import org.sonar.api.batch.maven.MavenPluginHandler;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/MavenPluginsConfigurator.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginsConfigurator.java
index 6433c1f2bc3..60c418fed94 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/MavenPluginsConfigurator.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenPluginsConfigurator.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.phases;
+package org.sonar.batch.scan.maven;
import org.apache.commons.io.IOUtils;
import org.apache.maven.project.MavenProject;
@@ -44,7 +44,7 @@ public class MavenPluginsConfigurator implements BatchComponent {
public void execute(Project project) {
Logger logger = LoggerFactory.getLogger(getClass());
- logger.info("Configure maven plugins...");
+ logger.info("Configure Maven plugins");
for (MavenPluginHandler handler : dictionnary.selectMavenPluginHandlers(project)) {
logger.debug("Configure {}...", handler);
@@ -68,7 +68,7 @@ public class MavenPluginsConfigurator implements BatchComponent {
pom.writeModel(fileWriter);
} catch (IOException e) {
- throw new SonarException("Can not save pom to " + targetPom, e);
+ throw new IllegalStateException("Can not save pom to " + targetPom, e);
} finally {
IOUtils.closeQuietly(fileWriter);
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenProjectConverter.java
index eb9da9cd895..9a98c6c0de6 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/maven/MavenProjectConverter.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
@@ -40,7 +40,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
-public final class MavenProjectConverter {
+public class MavenProjectConverter {
private static final String UNABLE_TO_DETERMINE_PROJECT_STRUCTURE_EXCEPTION_MESSAGE = "Unable to determine structure of project." +
" Probably you use Maven Advanced Reactor Options, which is not supported by Sonar and should not be used.";
@@ -115,7 +115,22 @@ public final class MavenProjectConverter {
.setName(pom.getName())
.setDescription(pom.getDescription())
.addContainerExtension(pom);
+ guessJavaVersion(pom, definition);
+ guessEncoding(pom, definition);
+ convertMavenLinksToProperties(definition, pom);
+ synchronizeFileSystem(pom, definition);
+ return definition;
+ }
+
+ private static void guessEncoding(MavenProject pom, ProjectDefinition definition) {
+ //See http://jira.codehaus.org/browse/SONAR-2151
+ String encoding = MavenUtils.getSourceEncoding(pom);
+ if (encoding != null) {
+ definition.setProperty(CoreProperties.ENCODING_PROPERTY, encoding);
+ }
+ }
+ private static void guessJavaVersion(MavenProject pom, ProjectDefinition definition) {
// See http://jira.codehaus.org/browse/SONAR-2148
// Get Java source and target versions from maven-compiler-plugin.
String version = MavenUtils.getJavaSourceVersion(pom);
@@ -126,15 +141,6 @@ public final class MavenProjectConverter {
if (version != null) {
definition.setProperty(JavaUtils.JAVA_TARGET_PROPERTY, version);
}
-
- //See http://jira.codehaus.org/browse/SONAR-2151
- String encoding = MavenUtils.getSourceEncoding(pom);
- if (encoding != null) {
- definition.setProperty(CoreProperties.ENCODING_PROPERTY, encoding);
- }
- convertMavenLinksToProperties(definition, pom);
- synchronizeFileSystem(pom, definition);
- return definition;
}
/**
diff --git a/sonar-batch/src/main/java/org/sonar/batch/tasks/ListTasksTask.java b/sonar-batch/src/main/java/org/sonar/batch/tasks/ListTasksTask.java
index e5f76f1cb42..26146c17dce 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/tasks/ListTasksTask.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/tasks/ListTasksTask.java
@@ -27,8 +27,8 @@ public class ListTasksTask implements Task {
public static final String COMMAND = "list-tasks";
public static final TaskDefinition DEFINITION = TaskDefinition.create()
- .setDescription("List all available tasks on the Sonar server")
- .setName("List tasks")
+ .setDescription("List available tasks")
+ .setName("List Tasks")
.setCommand(COMMAND)
.setTask(ListTasksTask.class);
@@ -40,7 +40,7 @@ public class ListTasksTask implements Task {
public void execute() {
System.out.println();
- System.out.println("List of available tasks:");
+ System.out.println("Available tasks:");
System.out.println();
for (TaskDefinition taskDef : taskManager.getTaskDefinitions()) {
System.out.println(" - " + taskDef.getCommand() + ": " + taskDef.getDescription());
diff --git a/sonar-batch/src/main/java/org/sonar/batch/tasks/Tasks.java b/sonar-batch/src/main/java/org/sonar/batch/tasks/Tasks.java
index 9ff56cdd9ba..82af633c54b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/tasks/Tasks.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/tasks/Tasks.java
@@ -28,6 +28,7 @@ import org.sonar.api.task.Task;
import org.sonar.api.task.TaskComponent;
import org.sonar.api.task.TaskDefinition;
import org.sonar.api.utils.SonarException;
+import org.sonar.batch.scan.ScanTask;
import javax.annotation.Nullable;
@@ -58,7 +59,7 @@ public class Tasks implements TaskComponent {
finalCommand = settings.getString(CoreProperties.TASK);
}
// Default to inspection task
- finalCommand = StringUtils.isNotBlank(finalCommand) ? finalCommand : InspectionTask.COMMAND;
+ finalCommand = StringUtils.isNotBlank(finalCommand) ? finalCommand : ScanTask.COMMAND;
if (taskDefByCommand.containsKey(finalCommand)) {
return taskDefByCommand.get(finalCommand);
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java
index db80de5c1bf..8cc7b44a86a 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/BootstrapContainerTest.java
@@ -24,8 +24,8 @@ import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
-import org.sonar.batch.FakeMavenPluginExecutor;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.FakeMavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
import static org.fest.assertions.Assertions.assertThat;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskBootstrapContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskBootstrapContainerTest.java
index 9145caa5436..9e6b7320a2a 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskBootstrapContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/TaskBootstrapContainerTest.java
@@ -48,7 +48,7 @@ public class TaskBootstrapContainerTest {
bootstrapModule.installChild(module);
thrown.expect(SonarException.class);
- thrown.expectMessage("Task Sonar project inspection requires to be run on a project");
+ thrown.expectMessage("Task 'Project Scan' requires to be run on a project");
module.start();
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java b/sonar-batch/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java
index dc7eb79101f..4f23c04a2c9 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java
@@ -24,9 +24,8 @@ import org.junit.Test;
import org.sonar.api.batch.BatchExtensionDictionnary;
import org.sonar.api.batch.PostJob;
import org.sonar.api.batch.SensorContext;
-import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.resources.Project;
-import org.sonar.batch.MavenPluginExecutor;
+import org.sonar.batch.scan.maven.MavenPluginExecutor;
import org.sonar.batch.local.DryRunExporter;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/InspectionContainerTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/ScanContainerTest.java
index bf10a117242..b8ecbdc8b7a 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/InspectionContainerTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/ScanContainerTest.java
@@ -17,9 +17,10 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.bootstrap;
+package org.sonar.batch.scan;
import org.apache.commons.configuration.PropertiesConfiguration;
+import org.fest.assertions.Assertions;
import org.junit.Test;
import org.mockito.Matchers;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
@@ -28,15 +29,18 @@ import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.resources.Project;
import org.sonar.api.resources.Resource;
import org.sonar.batch.ProjectTree;
+import org.sonar.batch.bootstrap.BatchSettings;
+import org.sonar.batch.bootstrap.Container;
+import org.sonar.batch.bootstrap.ExtensionInstaller;
+import org.sonar.batch.bootstrap.ProjectSettings;
import org.sonar.batch.index.ResourcePersister;
-import static org.fest.assertions.Assertions.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-public class InspectionContainerTest {
+public class ScanContainerTest {
@Test
public void should_register_project_extensions() {
// components injected in the parent container
@@ -45,7 +49,7 @@ public class InspectionContainerTest {
final ProjectTree projectTree = mock(ProjectTree.class);
when(projectTree.getProjectDefinition(project)).thenReturn(ProjectDefinition.create());
final ResourcePersister resourcePersister = mock(ResourcePersister.class);
- when(resourcePersister.getSnapshot(Matchers.<Resource> any())).thenReturn(new Snapshot());
+ when(resourcePersister.getSnapshot(Matchers.<Resource>any())).thenReturn(new Snapshot());
final ExtensionInstaller extensionInstaller = mock(ExtensionInstaller.class);
Container batchModule = new Container() {
@@ -59,10 +63,10 @@ public class InspectionContainerTest {
};
batchModule.init();
- InspectionContainer projectModule = new InspectionContainer(project);
+ ScanContainer projectModule = new ScanContainer(project);
batchModule.installChild(projectModule);
verify(extensionInstaller).installInspectionExtensions(any(ComponentContainer.class));
- assertThat(projectModule.container.getComponentByType(ProjectSettings.class)).isNotNull();
+ Assertions.assertThat(projectModule.container().getComponentByType(ProjectSettings.class)).isNotNull();
}
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/AbstractMavenPluginExecutorTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutorTest.java
index 053f8b88e46..754ec60381d 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/AbstractMavenPluginExecutorTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/AbstractMavenPluginExecutorTest.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import org.apache.maven.project.MavenProject;
import org.junit.Test;
@@ -25,6 +25,7 @@ import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
+import org.sonar.batch.scan.maven.AbstractMavenPluginExecutor;
import java.io.File;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/MavenPhaseExecutorTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPhaseExecutorTest.java
index 8d185ff0a46..7a51893593f 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/phases/MavenPhaseExecutorTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPhaseExecutorTest.java
@@ -17,7 +17,12 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.phases;
+package org.sonar.batch.scan.maven;
+
+import org.junit.Test;
+import org.sonar.api.config.Settings;
+import org.sonar.api.resources.Project;
+import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
@@ -25,20 +30,13 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.junit.Test;
-import org.sonar.api.batch.bootstrap.ProjectDefinition;
-import org.sonar.api.resources.Project;
-import org.sonar.batch.MavenPluginExecutor;
-import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
-
public class MavenPhaseExecutorTest {
@Test
public void doNothingIfNoPhase() {
DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class);
MavenPluginExecutor mavenPluginExecutor = mock(MavenPluginExecutor.class);
- MavenPhaseExecutor phaseExecutor = new MavenPhaseExecutor(fs, mavenPluginExecutor);
+ MavenPhaseExecutor phaseExecutor = new MavenPhaseExecutor(fs, mavenPluginExecutor, new Settings());
Project project = new Project("key");
@@ -51,15 +49,12 @@ public class MavenPhaseExecutorTest {
public void executePhase() {
DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class);
MavenPluginExecutor mavenPluginExecutor = mock(MavenPluginExecutor.class);
- MavenPhaseExecutor phaseExecutor = new MavenPhaseExecutor(fs, mavenPluginExecutor);
-
- Project project = new Project("key");
- PropertiesConfiguration conf = new PropertiesConfiguration();
- conf.setProperty(MavenPhaseExecutor.PROP_PHASE, "myphase");
- project.setConfiguration(conf);
+ Settings settings = new Settings().setProperty(MavenPhaseExecutor.PROP_PHASE, "foo");
+ MavenPhaseExecutor phaseExecutor = new MavenPhaseExecutor(fs, mavenPluginExecutor, settings);
+ Project project = mock(Project.class);
phaseExecutor.execute(project);
- verify(mavenPluginExecutor).execute(project, fs, "myphase");
+ verify(mavenPluginExecutor).execute(project, fs, "foo");
}
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/MavenPluginsConfiguratorTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest.java
index 558d8df3049..af1bd0042e5 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/phases/MavenPluginsConfiguratorTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch.phases;
+package org.sonar.batch.scan.maven;
import org.junit.Test;
import org.mockito.ArgumentMatcher;
@@ -26,6 +26,7 @@ import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
import org.sonar.api.test.MavenTestUtils;
+import org.sonar.batch.scan.maven.MavenPluginsConfigurator;
import java.util.Arrays;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/MavenProjectConverterTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenProjectConverterTest.java
index b4274ecd00d..f11b8adb983 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/MavenProjectConverterTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/scan/maven/MavenProjectConverterTest.java
@@ -17,7 +17,7 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.batch;
+package org.sonar.batch.scan.maven;
import org.apache.commons.io.FileUtils;
import org.apache.maven.model.Model;
@@ -108,10 +108,10 @@ public class MavenProjectConverterTest {
@Test
public void moduleNameShouldEqualArtifactId() throws Exception {
- File rootDir = TestUtils.getResource("/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/");
- MavenProject parent = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml", true);
- MavenProject module1 = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml", false);
- MavenProject module2 = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml", false);
+ File rootDir = TestUtils.getResource("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/");
+ MavenProject parent = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml", true);
+ MavenProject module1 = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml", false);
+ MavenProject module2 = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml", false);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(parent, module1, module2), parent);
@@ -129,10 +129,10 @@ public class MavenProjectConverterTest {
@Test
public void moduleNameDifferentThanArtifactId() throws Exception {
- File rootDir = TestUtils.getResource("/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/");
- MavenProject parent = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml", true);
- MavenProject module1 = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml", false);
- MavenProject module2 = loadPom("/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml", false);
+ File rootDir = TestUtils.getResource("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/");
+ MavenProject parent = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml", true);
+ MavenProject module1 = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml", false);
+ MavenProject module2 = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml", false);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(parent, module1, module2), parent);
@@ -150,9 +150,9 @@ public class MavenProjectConverterTest {
@Test
public void should_find_module_with_maven_project_file_naming_different_from_pom_xml() throws Exception {
- File rootDir = TestUtils.getResource("/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/");
- MavenProject parent = loadPom("/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml", true);
- MavenProject module = loadPom("/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml", false);
+ File rootDir = TestUtils.getResource("/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/");
+ MavenProject parent = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml", true);
+ MavenProject module = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml", false);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(parent, module), parent);
@@ -170,8 +170,8 @@ public class MavenProjectConverterTest {
@Test
public void testSingleProjectWithoutModules() throws Exception {
- File rootDir = TestUtils.getResource("/org/sonar/batch/MavenProjectConverterTest/singleProjectWithoutModules/");
- MavenProject pom = loadPom("/org/sonar/batch/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml", true);
+ File rootDir = TestUtils.getResource("/org/sonar/batch/scan/maven/MavenProjectConverterTest/singleProjectWithoutModules/");
+ MavenProject pom = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml", true);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(pom), pom);
@@ -183,7 +183,7 @@ public class MavenProjectConverterTest {
@Test
public void shouldConvertLinksToProperties() throws Exception {
- MavenProject pom = loadPom("/org/sonar/batch/MavenProjectConverterTest/projectWithLinks/pom.xml", true);
+ MavenProject pom = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinks/pom.xml", true);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(pom), pom);
@@ -197,7 +197,7 @@ public class MavenProjectConverterTest {
@Test
public void shouldNotConvertLinksToPropertiesIfPropertyAlreadyDefined() throws Exception {
- MavenProject pom = loadPom("/org/sonar/batch/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml", true);
+ MavenProject pom = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml", true);
ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(pom), pom);
@@ -213,6 +213,15 @@ public class MavenProjectConverterTest {
assertThat(props.getProperty(CoreProperties.LINKS_HOME_PAGE)).isEqualTo("http://home.com-OVERRIDEN-BY-PROPS");
}
+ @Test
+ public void shouldLoadSourceEncoding() throws Exception {
+ MavenProject pom = loadPom("/org/sonar/batch/scan/maven/MavenProjectConverterTest/sourceEncoding/pom.xml", true);
+
+ ProjectDefinition rootDef = MavenProjectConverter.convert(Arrays.asList(pom), pom);
+
+ assertThat(rootDef.getProperties().getProperty(CoreProperties.ENCODING_PROPERTY)).isEqualTo("Shift_JIS");
+ }
+
private MavenProject loadPom(String pomPath, boolean isRoot) throws URISyntaxException, IOException, XmlPullParserException {
File pomFile = new File(getClass().getResource(pomPath).toURI());
Model model = new MavenXpp3Reader().read(new StringReader(FileUtils.readFileToString(pomFile)));
diff --git a/sonar-batch/src/test/java/org/sonar/batch/tasks/TasksTest.java b/sonar-batch/src/test/java/org/sonar/batch/tasks/TasksTest.java
index 6c57398ae67..102576ec196 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/tasks/TasksTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/tasks/TasksTest.java
@@ -28,6 +28,7 @@ import org.sonar.api.config.Settings;
import org.sonar.api.task.Task;
import org.sonar.api.task.TaskDefinition;
import org.sonar.api.utils.SonarException;
+import org.sonar.batch.scan.ScanTask;
import static org.fest.assertions.Assertions.assertThat;
@@ -45,39 +46,39 @@ public class TasksTest {
@Test
public void shouldReturnTaskDefinitions() {
- Tasks tasks = new Tasks(settings, new TaskDefinition[] {InspectionTask.DEFINITION, ListTasksTask.DEFINITION});
+ Tasks tasks = new Tasks(settings, new TaskDefinition[] {ScanTask.DEFINITION, ListTasksTask.DEFINITION});
assertThat(tasks.getTaskDefinitions().length).isEqualTo(2);
}
@Test
public void shouldReturnInspectionTask() {
- Tasks tasks = new Tasks(settings, new TaskDefinition[] {InspectionTask.DEFINITION, ListTasksTask.DEFINITION});
+ Tasks tasks = new Tasks(settings, new TaskDefinition[] {ScanTask.DEFINITION, ListTasksTask.DEFINITION});
tasks.start();
- assertThat(tasks.getTaskDefinition(InspectionTask.COMMAND)).isEqualTo(InspectionTask.DEFINITION);
+ assertThat(tasks.getTaskDefinition(ScanTask.COMMAND)).isEqualTo(ScanTask.DEFINITION);
}
@Test
public void shouldReturnInspectionTaskByDefault() {
- Tasks tasks = new Tasks(settings, new TaskDefinition[] {InspectionTask.DEFINITION, ListTasksTask.DEFINITION});
+ Tasks tasks = new Tasks(settings, new TaskDefinition[] {ScanTask.DEFINITION, ListTasksTask.DEFINITION});
tasks.start();
- assertThat(tasks.getTaskDefinition(null)).isEqualTo(InspectionTask.DEFINITION);
+ assertThat(tasks.getTaskDefinition(null)).isEqualTo(ScanTask.DEFINITION);
}
@Test
public void shouldReturnUsePropertyWhenNoCommand() {
- Tasks tasks = new Tasks(settings, new TaskDefinition[] {InspectionTask.DEFINITION, ListTasksTask.DEFINITION});
+ Tasks tasks = new Tasks(settings, new TaskDefinition[] {ScanTask.DEFINITION, ListTasksTask.DEFINITION});
tasks.start();
assertThat(tasks.getTaskDefinition(ListTasksTask.COMMAND)).isEqualTo(ListTasksTask.DEFINITION);
- assertThat(tasks.getTaskDefinition(null)).isEqualTo(InspectionTask.DEFINITION);
+ assertThat(tasks.getTaskDefinition(null)).isEqualTo(ScanTask.DEFINITION);
settings.setProperty(CoreProperties.TASK, ListTasksTask.COMMAND);
assertThat(tasks.getTaskDefinition(null)).isEqualTo(ListTasksTask.DEFINITION);
- assertThat(tasks.getTaskDefinition(InspectionTask.COMMAND)).isEqualTo(InspectionTask.DEFINITION);
+ assertThat(tasks.getTaskDefinition(ScanTask.COMMAND)).isEqualTo(ScanTask.DEFINITION);
}
@Test
public void shouldThrowWhenCommandNotFound() {
- Tasks tasks = new Tasks(settings, new TaskDefinition[] {InspectionTask.DEFINITION, ListTasksTask.DEFINITION});
+ Tasks tasks = new Tasks(settings, new TaskDefinition[] {ScanTask.DEFINITION, ListTasksTask.DEFINITION});
thrown.expect(SonarException.class);
thrown.expectMessage("No task found for command: not-exists");
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/phases/MavenPluginsConfiguratorTest/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest/pom.xml
index 2f95da16602..2f95da16602 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/phases/MavenPluginsConfiguratorTest/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenPluginsConfiguratorTest/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml
index 7b49562c2e0..7b49562c2e0 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml
index 7b49562c2e0..7b49562c2e0 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/module/pom_having_different_name.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml
index 9d2244eb148..9d2244eb148 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/mavenProjectFileNameNotEqualsToPomXml/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml
index 470f2d1f6e5..470f2d1f6e5 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path1/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml
index 88101678e0f..88101678e0f 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/path2/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml
index afd92c0dbee..afd92c0dbee 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameDifferentThanArtifactId/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml
index 470f2d1f6e5..470f2d1f6e5 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module1/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml
index 88101678e0f..88101678e0f 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/module2/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml
index cc73a43ec08..cc73a43ec08 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/moduleNameShouldEqualArtifactId/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinks/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinks/pom.xml
index 460e8967e5c..460e8967e5c 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinks/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinks/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml
index 5b024e5c4a7..5b024e5c4a7 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/projectWithLinksAndProperties/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml
index ffd40530c5d..ffd40530c5d 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/singleProjectWithoutModules/pom.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/sourceEncoding/pom.xml b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/sourceEncoding/pom.xml
new file mode 100644
index 00000000000..01bf73cfa9e
--- /dev/null
+++ b/sonar-batch/src/test/resources/org/sonar/batch/scan/maven/MavenProjectConverterTest/sourceEncoding/pom.xml
@@ -0,0 +1,11 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.test</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <url>http://home.com</url>
+ <properties>
+ <project.build.sourceEncoding>Shift_JIS</project.build.sourceEncoding>
+ </properties>
+</project> \ No newline at end of file
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java b/sonar-deprecated/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java
index 11c6e8bab93..0bcfece52d5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java
+++ b/sonar-deprecated/src/main/java/org/sonar/api/batch/maven/DependsUponCustomRules.java
@@ -23,6 +23,8 @@ package org.sonar.api.batch.maven;
* Marker interface for MavenPluginHandlers. If set, classloader of maven plugin includes JARs of custom rule.
*
* @since 1.10
+ * @deprecated not supported anymore for many releases...
*/
+@Deprecated
public interface DependsUponCustomRules {
}
diff --git a/sonar-maven-plugin/src/main/java/org/sonar/maven/Maven2PluginExecutor.java b/sonar-maven-plugin/src/main/java/org/sonar/maven/Maven2PluginExecutor.java
index c61c89f214b..dc6d629f2a9 100644
--- a/sonar-maven-plugin/src/main/java/org/sonar/maven/Maven2PluginExecutor.java
+++ b/sonar-maven-plugin/src/main/java/org/sonar/maven/Maven2PluginExecutor.java
@@ -23,7 +23,7 @@ import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.ReactorManager;
import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.project.MavenProject;
-import org.sonar.batch.AbstractMavenPluginExecutor;
+import org.sonar.batch.scan.maven.AbstractMavenPluginExecutor;
import java.util.Arrays;
diff --git a/sonar-maven-plugin/src/main/java/org/sonar/maven/SonarMojo.java b/sonar-maven-plugin/src/main/java/org/sonar/maven/SonarMojo.java
index 37fcb3896f9..cccd641c906 100644
--- a/sonar-maven-plugin/src/main/java/org/sonar/maven/SonarMojo.java
+++ b/sonar-maven-plugin/src/main/java/org/sonar/maven/SonarMojo.java
@@ -36,7 +36,7 @@ import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
-import org.sonar.batch.MavenProjectConverter;
+import org.sonar.batch.scan.maven.MavenProjectConverter;
import org.sonar.batch.bootstrapper.Batch;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.batch.bootstrapper.LoggingConfiguration;
diff --git a/sonar-maven3-plugin/src/main/java/org/sonar/maven3/Maven3PluginExecutor.java b/sonar-maven3-plugin/src/main/java/org/sonar/maven3/Maven3PluginExecutor.java
index 761a8833c05..c7a3299051a 100644
--- a/sonar-maven3-plugin/src/main/java/org/sonar/maven3/Maven3PluginExecutor.java
+++ b/sonar-maven3-plugin/src/main/java/org/sonar/maven3/Maven3PluginExecutor.java
@@ -25,7 +25,7 @@ import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.project.MavenProject;
import org.sonar.api.utils.SonarException;
-import org.sonar.batch.AbstractMavenPluginExecutor;
+import org.sonar.batch.scan.maven.AbstractMavenPluginExecutor;
public class Maven3PluginExecutor extends AbstractMavenPluginExecutor {
diff --git a/sonar-maven3-plugin/src/main/java/org/sonar/maven3/SonarMojo.java b/sonar-maven3-plugin/src/main/java/org/sonar/maven3/SonarMojo.java
index 55a43090520..2bf0edecfc6 100644
--- a/sonar-maven3-plugin/src/main/java/org/sonar/maven3/SonarMojo.java
+++ b/sonar-maven3-plugin/src/main/java/org/sonar/maven3/SonarMojo.java
@@ -35,7 +35,7 @@ import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.bootstrap.ProjectReactor;
-import org.sonar.batch.MavenProjectConverter;
+import org.sonar.batch.scan.maven.MavenProjectConverter;
import org.sonar.batch.bootstrapper.Batch;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.batch.bootstrapper.LoggingConfiguration;