import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.platform.PluginMetadata;
import org.sonar.api.resources.Project;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.TaskDefinition;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import javax.annotation.Nullable;
package org.sonar.batch.bootstrap;
import org.sonar.api.batch.bootstrap.ProjectReactor;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.TaskDefinition;
import org.sonar.api.utils.SonarException;
import org.sonar.batch.scan.ScanTask;
import org.sonar.batch.tasks.ListTasksTask;
import org.slf4j.LoggerFactory;
import org.sonar.api.config.EmailSettings;
import org.sonar.api.resources.ResourceTypes;
-import org.sonar.batch.tasks.Task;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.Task;
+import org.sonar.api.task.TaskDefinition;
import org.sonar.api.utils.SonarException;
import org.sonar.batch.DefaultFileLinesContextFactory;
import org.sonar.batch.DefaultResourceCreationLock;
import com.google.common.annotations.VisibleForTesting;
import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.resources.Project;
-import org.sonar.batch.tasks.Task;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.Task;
+import org.sonar.api.task.TaskDefinition;
import org.sonar.batch.ProjectTree;
import org.sonar.batch.tasks.RequiresProject;
*/
package org.sonar.batch.tasks;
+import org.sonar.api.task.Task;
+import org.sonar.api.task.TaskDefinition;
+
public class ListTasksTask implements Task {
public static final String COMMAND = "list-tasks";
+++ /dev/null
-/*
- * Sonar, open source software quality management tool.
- * Copyright (C) 2008-2012 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * Sonar is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * Sonar is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * 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.api.task.TaskExtension;
-
-/**
- * Implement this interface to provide the behavior of a task.
- * @since 3.5
- */
-public interface Task extends TaskExtension {
-
- void execute();
-
-}
+++ /dev/null
-/*
- * Sonar, open source software quality management tool.
- * Copyright (C) 2008-2012 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * Sonar is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * Sonar is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * 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.api.task.TaskComponent;
-
-/**
- * Implement this interface to provide a new task.
- * @since 3.5
- */
-public class TaskDefinition implements TaskComponent {
-
- private String name;
- private String description;
- private String command;
- private Class<? extends Task> task;
-
- private TaskDefinition() {
-
- }
-
- public static TaskDefinition create() {
- return new TaskDefinition();
- }
-
- public String getName() {
- return name;
- }
-
- public TaskDefinition setName(String name) {
- this.name = name;
- return this;
- }
-
- public String getDescription() {
- return description;
- }
-
- public TaskDefinition setDescription(String description) {
- this.description = description;
- return this;
- }
-
- public String getCommand() {
- return command;
- }
-
- public TaskDefinition setCommand(String command) {
- this.command = command;
- return this;
- }
-
- public Class<? extends Task> getTask() {
- return task;
- }
-
- public TaskDefinition setTask(Class<? extends Task> task) {
- this.task = task;
- return this;
- }
-
- @Override
- public String toString() {
- return "Definition of task " + task + " with command " + command;
- }
-
-}
import org.slf4j.LoggerFactory;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
+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 org.sonar.api.platform.ComponentContainer;
import org.sonar.api.platform.PluginMetadata;
import org.sonar.api.resources.Project;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.TaskDefinition;
import org.sonar.api.task.TaskExtension;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.batch.tasks.RequiresProject;
import org.junit.Test;
import org.sonar.api.platform.ComponentContainer;
-import org.sonar.batch.tasks.TaskDefinition;
+import org.sonar.api.task.TaskDefinition;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
package org.sonar.batch.tasks;
import org.junit.Test;
+import org.sonar.api.task.TaskDefinition;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import org.junit.rules.ExpectedException;
import org.sonar.api.CoreProperties;
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;
--- /dev/null
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2012 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
+ */
+package org.sonar.api.task;
+
+
+/**
+ * Implement this interface to provide the behavior of a task.
+ * @since 3.5
+ */
+public interface Task extends TaskExtension {
+
+ void execute();
+
+}
*/
package org.sonar.api.task;
-import com.google.common.annotations.Beta;
-
/**
- * EXPERIMENTAL - DO NOT USE
+ * Dependency Injection : all the classes implementing this interface are available in the task IoC container.
+ * Just add a parameter to the constructor of your component.
*
* @since 3.5
*/
-@Beta
public interface TaskComponent {
}
--- /dev/null
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2012 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
+ */
+package org.sonar.api.task;
+
+/**
+ * Implement this interface to provide a new task.
+ * @since 3.5
+ */
+public class TaskDefinition implements TaskComponent {
+
+ private String name;
+ private String description;
+ private String command;
+ private Class<? extends Task> task;
+
+ private TaskDefinition() {
+
+ }
+
+ public static TaskDefinition create() {
+ return new TaskDefinition();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public TaskDefinition setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public TaskDefinition setDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public String getCommand() {
+ return command;
+ }
+
+ public TaskDefinition setCommand(String command) {
+ this.command = command;
+ return this;
+ }
+
+ public Class<? extends Task> getTask() {
+ return task;
+ }
+
+ public TaskDefinition setTask(Class<? extends Task> task) {
+ this.task = task;
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ return "Definition of task " + task + " with command " + command;
+ }
+
+}
*/
package org.sonar.api.task;
-import com.google.common.annotations.Beta;
import org.sonar.api.Extension;
/**
- * EXPERIMENTAL - DO NOT USE
+ * Task extension point.
*
* @since 3.5
*/
-@Beta
public interface TaskExtension extends Extension, TaskComponent {
}