diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2013-02-13 16:21:45 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2013-02-13 16:31:21 +0100 |
commit | c32688aed22dd11d9ae337a60b92bd45b65127e5 (patch) | |
tree | febeb043c00707d68f5dfbf2fc69aecb30ec4ccd | |
parent | 695fca2e7412295fc041ff8d61cf727d35d05ce9 (diff) | |
download | sonarqube-c32688aed22dd11d9ae337a60b92bd45b65127e5.tar.gz sonarqube-c32688aed22dd11d9ae337a60b92bd45b65127e5.zip |
Move Maven stuff into a dedicated package
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; |