diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-11-16 18:10:44 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-11-17 18:18:21 +0100 |
commit | 01570a451806cce75fd66b9e02a4631d4ba5509e (patch) | |
tree | 4a37c18c2feb48693aa8d571f06f7f7783e7230e /sonar-plugin-api/src/main | |
parent | df0b8c45e5921a194a937bda405e2be43fcf4865 (diff) | |
download | sonarqube-01570a451806cce75fd66b9e02a4631d4ba5509e.tar.gz sonarqube-01570a451806cce75fd66b9e02a4631d4ba5509e.zip |
SONAR-7023 Restore task API
Diffstat (limited to 'sonar-plugin-api/src/main')
6 files changed, 27 insertions, 17 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java index 9e4a625b626..c1bbad7271b 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java @@ -362,16 +362,12 @@ public interface CoreProperties { /** * @since 3.5 - * @deprecated since 5.2 no more task concept on batch side */ - @Deprecated String TASK = "sonar.task"; /** * @since 3.6 - * @deprecated since 5.2 no more task concept on batch side */ - @Deprecated String SCAN_TASK = "scan"; /** diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/InstantiationStrategy.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/InstantiationStrategy.java index 46b2e7abd26..e1efd17a1ea 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/InstantiationStrategy.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/InstantiationStrategy.java @@ -34,7 +34,12 @@ import java.lang.annotation.Target; public @interface InstantiationStrategy { /** - * Shared extension. Lifecycle is the full analysis. + * Shared task extension. Available in task container. + */ + String PER_TASK = "PER_TASK"; + + /** + * Shared extension. Available in top level project container. */ String PER_BATCH = "PER_BATCH"; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/task/Task.java b/sonar-plugin-api/src/main/java/org/sonar/api/task/Task.java index dd280ef2ab1..be7677f17a7 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/task/Task.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/task/Task.java @@ -19,13 +19,16 @@ */ package org.sonar.api.task; +import org.sonar.api.batch.BatchSide; +import org.sonar.api.batch.InstantiationStrategy; + /** * Implement this interface to provide the behavior of a task. * @since 3.6 - * @deprecated since 5.1 all tasks (devcockpit, views) will be moved to server side */ -@Deprecated -public interface Task extends TaskExtension { +@BatchSide +@InstantiationStrategy(InstantiationStrategy.PER_TASK) +public interface Task { void execute(); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskComponent.java b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskComponent.java index 3c863a01937..0f3a1ba0074 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskComponent.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskComponent.java @@ -26,10 +26,10 @@ import org.sonar.api.batch.InstantiationStrategy; * All the classes implementing this interface can be injected in public constructors of {@link TaskExtension}. * * @since 3.6 - * @deprecated since 5.1 all tasks (devcockpit, views) will be moved to server side + * @deprecated since 5.1. Use {@link BatchSide} and {@link InstantiationStrategy#PER_TASK} */ @Deprecated @BatchSide -@InstantiationStrategy(InstantiationStrategy.PER_BATCH) +@InstantiationStrategy(InstantiationStrategy.PER_TASK) public interface TaskComponent { } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskDefinition.java index 858c37b725d..8271252a3ca 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskDefinition.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskDefinition.java @@ -21,17 +21,20 @@ package org.sonar.api.task; import com.google.common.base.Preconditions; import com.google.common.base.Strings; - import java.util.regex.Pattern; +import org.sonar.api.ExtensionPoint; +import org.sonar.api.batch.BatchSide; +import org.sonar.api.batch.InstantiationStrategy; /** * Register and describe a {@link TaskExtension}. * * @since 3.6 - * @deprecated since 5.1 all tasks (devcockpit, views) will be moved to server side */ -@Deprecated -public class TaskDefinition implements TaskExtension, Comparable<TaskDefinition> { +@ExtensionPoint +@BatchSide +@InstantiationStrategy(InstantiationStrategy.PER_TASK) +public class TaskDefinition implements Comparable<TaskDefinition> { static final String KEY_PATTERN = "[a-zA-Z0-9\\-\\_]+"; private final String key; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskExtension.java b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskExtension.java index f389d069dcf..93a4e841ca1 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskExtension.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/task/TaskExtension.java @@ -19,14 +19,17 @@ */ package org.sonar.api.task; -import org.sonar.api.Extension; +import org.sonar.api.batch.BatchSide; +import org.sonar.api.batch.InstantiationStrategy; /** * Task extension point * * @since 3.6 - * @deprecated since 5.1 all tasks (devcockpit, views) will be moved to server side + * @deprecated since 5.1. Not used. */ @Deprecated -public interface TaskExtension extends Extension, TaskComponent { +@BatchSide +@InstantiationStrategy(InstantiationStrategy.PER_TASK) +public interface TaskExtension { } |