aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-03-23 10:14:22 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-03-29 13:06:51 +0200
commit1c623f97a76734a13224832da38cfa1721d03abe (patch)
tree1c2d6a0a8426bf0762aa22e5c6f73b1ed2206a97 /sonar-plugin-api
parent17f23a671f57beac9980635459a92b1eb4fb5eb8 (diff)
downloadsonarqube-1c623f97a76734a13224832da38cfa1721d03abe.tar.gz
sonarqube-1c623f97a76734a13224832da38cfa1721d03abe.zip
SONAR-7441 add ComputeEngineSide annotation where applicable
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java6
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/ServerComponent.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/ServerExtension.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/MeasureComputer.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java16
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java18
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java16
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java9
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationChannel.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStartHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStopHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerUpgradeStatus.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/AnnotationProfileParser.java7
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileParser.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java9
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java6
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java13
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java7
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypes.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java9
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java24
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionI18nLoader.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java8
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java7
43 files changed, 155 insertions, 107 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java b/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
index ac67fe1c2bf..bf097a28939 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/Plugin.java
@@ -88,9 +88,11 @@ public interface Plugin {
/**
* Add an extension as :
* <ul>
- * <li>a Class that is annotated with {@link org.sonar.api.batch.BatchSide} or {@link org.sonar.api.server.ServerSide}.
+ * <li>a Class that is annotated with {@link org.sonar.api.batch.BatchSide}, {@link org.sonar.api.server.ServerSide}
+ * or {@link org.sonar.api.server.ComputeEngineSide}.</li>
* The extension will be instantiated once. Its dependencies are injected through constructor parameters.</li>
- * <li>an instance that is annotated with {@link org.sonar.api.batch.BatchSide} or {@link org.sonar.api.server.ServerSide}</li>
+ * <li>an instance that is annotated with {@link org.sonar.api.batch.BatchSide}, {@link org.sonar.api.server.ServerSide}
+ * or {@link org.sonar.api.server.ComputeEngineSide}.</li>
* </ul>
* Only a single component can be registered for a class. It's not allowed for example to register:
* <ul>
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ServerComponent.java b/sonar-plugin-api/src/main/java/org/sonar/api/ServerComponent.java
index f09f8f30cfb..1ef9445d95e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ServerComponent.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/ServerComponent.java
@@ -25,7 +25,7 @@ import org.sonar.api.server.ServerSide;
* Same than {@link org.sonar.api.BatchComponent} but for server-side components.
*
* @since 2.2
- * @deprecated since 5.2 use {@link ServerSide} annotation
+ * @deprecated in 5.2. Use {@link ServerSide} annotation instead.
*/
@Deprecated
@ServerSide
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ServerExtension.java b/sonar-plugin-api/src/main/java/org/sonar/api/ServerExtension.java
index c643ad2212c..15450df6a89 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ServerExtension.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/ServerExtension.java
@@ -19,13 +19,14 @@
*/
package org.sonar.api;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
* Server extension point.
*
* @since 1.10
- * @deprecated since 5.2 replaced by {@link ServerSide} and {@link ExtensionPoint} annotations
+ * @deprecated since 5.2. Use annotations {@link ServerSide} or {@link ComputeEngineSide} and {@link ExtensionPoint}
*/
@Deprecated
public interface ServerExtension extends Extension, ServerComponent {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
index 5d76568ad17..0889546d04e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/SonarQubeVersion.java
@@ -21,6 +21,7 @@ package org.sonar.api;
import javax.annotation.concurrent.Immutable;
import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Version;
@@ -104,6 +105,7 @@ import static java.util.Objects.requireNonNull;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
@Immutable
public class SonarQubeVersion {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/MeasureComputer.java b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/MeasureComputer.java
index bf0789bed58..620bef139bc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/MeasureComputer.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/ce/measure/MeasureComputer.java
@@ -24,7 +24,7 @@ import java.util.Set;
import javax.annotation.CheckForNull;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.ce.measure.MeasureComputer.MeasureComputerDefinition.Builder;
-import org.sonar.api.server.ServerSide;
+import org.sonar.api.ce.ComputeEngineSide;
/**
* Define how to compute new measures on some metrics declared by {@link org.sonar.api.measures.Metrics}.
@@ -88,7 +88,7 @@ import org.sonar.api.server.ServerSide;
*
* @since 5.2
*/
-@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface MeasureComputer {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
index 8472a00a7ac..59aa02e28e5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
@@ -20,8 +20,9 @@
package org.sonar.api.config;
import com.google.common.base.Objects;
-import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -31,6 +32,7 @@ import org.sonar.api.server.ServerSide;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class EmailSettings {
public static final String SMTP_HOST = "email.smtp_host.secured";
public static final String SMTP_HOST_DEFAULT = "";
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
index 1dedc143a76..7c753e31252 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
@@ -23,20 +23,19 @@ import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javax.annotation.Nullable;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
-import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.Property;
import org.sonar.api.PropertyType;
-import org.sonar.api.server.ServerSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.resources.Qualifiers;
-
-import javax.annotation.Nullable;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* Declare a plugin property. Values are available at runtime through the component {@link Settings}.
@@ -70,6 +69,7 @@ import java.util.List;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public final class PropertyDefinition {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java
index 6a815bd019c..c2e427b1e17 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java
@@ -20,22 +20,21 @@
package org.sonar.api.config;
import com.google.common.base.Strings;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Nullable;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.Properties;
import org.sonar.api.Property;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.AnnotationUtils;
-import javax.annotation.Nullable;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* Metadata of all the properties declared by plugins
*
@@ -43,6 +42,7 @@ import java.util.Map;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public final class PropertyDefinitions {
private final Map<String, PropertyDefinition> definitions = new HashMap<>();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java
index fc5100ce2c4..6f10d573020 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java
@@ -24,21 +24,20 @@ import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.DateUtils;
-import javax.annotation.Nullable;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
/**
* Project settings on batch side, or global settings on server side. This component does not access to database, so
* property changed via setter methods are not persisted.
@@ -88,6 +87,7 @@ import java.util.Properties;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class Settings {
protected Map<String, String> properties;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java b/sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java
index 5d4779d2bbc..f44233a6a9f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java
@@ -19,13 +19,12 @@
*/
package org.sonar.api.i18n;
-import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
-
-import javax.annotation.Nullable;
-
import java.util.Date;
import java.util.Locale;
+import javax.annotation.Nullable;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* Main component that provides translation facilities.
@@ -34,6 +33,7 @@ import java.util.Locale;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public interface I18n {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java b/sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java
index c799b5eb598..3f70eeeef67 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java
@@ -19,13 +19,12 @@
*/
package org.sonar.api.i18n;
+import java.util.Locale;
+import javax.annotation.CheckForNull;
import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.Rule;
-
-import javax.annotation.CheckForNull;
-
-import java.util.Locale;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* {@link I18n}-companion component that provides translation facilities for rule names, descriptions and parameter names.
@@ -36,6 +35,7 @@ import java.util.Locale;
@Deprecated
@BatchSide
@ServerSide
+@ComputeEngineSide
public interface RuleI18n {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java
index 89d82faa8a0..8b5bfcda75d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java
@@ -31,6 +31,7 @@ import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import static com.google.common.base.Objects.firstNonNull;
@@ -40,6 +41,7 @@ import static org.apache.commons.lang.StringUtils.isNotBlank;
@BatchSide
@InstantiationStrategy(InstantiationStrategy.PER_BATCH)
@ServerSide
+@ComputeEngineSide
public class Metric<G extends Serializable> implements Serializable, org.sonar.api.batch.measure.Metric<G> {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java
index fbd6ec03530..5aceb4f2471 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java
@@ -19,13 +19,12 @@
*/
package org.sonar.api.measures;
-import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
-
-import javax.annotation.CheckForNull;
-
import java.util.Collection;
import java.util.List;
+import javax.annotation.CheckForNull;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.5
@@ -34,6 +33,7 @@ import java.util.List;
@Deprecated
@BatchSide
@ServerSide
+@ComputeEngineSide
public interface MetricFinder {
@CheckForNull
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java
index 61ee341158f..96521bac3a5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java
@@ -19,12 +19,12 @@
*/
package org.sonar.api.measures;
-import org.sonar.api.batch.BatchSide;
+import java.util.List;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.server.ServerSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
-
-import java.util.List;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 1.10
@@ -32,6 +32,7 @@ import java.util.List;
@BatchSide
@InstantiationStrategy(InstantiationStrategy.PER_BATCH)
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface Metrics {
List<Metric> getMetrics();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationChannel.java b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationChannel.java
index dbee36f675a..d80f325f476 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationChannel.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationChannel.java
@@ -20,6 +20,7 @@
package org.sonar.api.notifications;
import org.sonar.api.ExtensionPoint;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -36,6 +37,7 @@ import org.sonar.api.server.ServerSide;
* @since 2.10
*/
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public abstract class NotificationChannel {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java
index c68cbd2370b..0968b5f3d03 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.util.Date;
import javax.annotation.CheckForNull;
import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -30,6 +31,7 @@ import org.sonar.api.server.ServerSide;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public abstract class Server {
public abstract String getId();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java
index 04b6b927319..d54049aae0e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java
@@ -19,15 +19,16 @@
*/
package org.sonar.api.platform;
-import org.sonar.api.server.ServerSide;
-
import java.io.File;
import java.util.List;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.3
*/
@ServerSide
+@ComputeEngineSide
public interface ServerFileSystem {
File getHomeDir();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStartHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStartHandler.java
index e76a2e521d6..43f8058a2f8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStartHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStartHandler.java
@@ -20,12 +20,14 @@
package org.sonar.api.platform;
import org.sonar.api.ExtensionPoint;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
* @since 2.2
*/
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface ServerStartHandler {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStopHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStopHandler.java
index 782edbe60e6..01ed6b16862 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStopHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerStopHandler.java
@@ -20,12 +20,14 @@
package org.sonar.api.platform;
import org.sonar.api.ExtensionPoint;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
* @since 2.2
*/
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface ServerStopHandler {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerUpgradeStatus.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerUpgradeStatus.java
index 22e3dbf171e..7751060a6c7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerUpgradeStatus.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerUpgradeStatus.java
@@ -19,12 +19,14 @@
*/
package org.sonar.api.platform;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
* @since 2.5
*/
@ServerSide
+@ComputeEngineSide
public interface ServerUpgradeStatus {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/AnnotationProfileParser.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/AnnotationProfileParser.java
index 5f01495ba28..cddc1e512d8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/AnnotationProfileParser.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/AnnotationProfileParser.java
@@ -19,21 +19,22 @@
*/
package org.sonar.api.profiles;
+import java.util.Collection;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.RuleAnnotationUtils;
import org.sonar.api.rules.RuleFinder;
import org.sonar.api.rules.RulePriority;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ValidationMessages;
import org.sonar.check.BelongsToProfile;
-import java.util.Collection;
-
/**
* @since 2.3
*/
@ServerSide
+@ComputeEngineSide
public final class AnnotationProfileParser {
private final RuleFinder ruleFinder;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java
index 19089949845..e1f65d3b68b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java
@@ -19,14 +19,13 @@
*/
package org.sonar.api.profiles;
+import java.io.Reader;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ValidationMessages;
-import java.io.Reader;
-
/**
* @since 2.3
*/
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileParser.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileParser.java
index 0bfdc614cce..6e77b0e3168 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileParser.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileParser.java
@@ -35,6 +35,7 @@ import org.sonar.api.rules.ActiveRule;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.RuleFinder;
import org.sonar.api.rules.RulePriority;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ValidationMessages;
@@ -42,6 +43,7 @@ import org.sonar.api.utils.ValidationMessages;
* @since 2.3
*/
@ServerSide
+@ComputeEngineSide
public class XMLProfileParser {
private final RuleFinder ruleFinder;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java
index 84888f73b16..d1b070abf15 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java
@@ -19,20 +19,21 @@
*/
package org.sonar.api.profiles;
+import java.io.IOException;
+import java.io.Writer;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.ActiveRule;
import org.sonar.api.rules.ActiveRuleParam;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.SonarException;
-import java.io.IOException;
-import java.io.Writer;
-
/**
* @since 2.3
*/
@ServerSide
+@ComputeEngineSide
public class XMLProfileSerializer {
public void write(RulesProfile profile, Writer writer) {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java
index 625169adf01..cd0e1b2ee2a 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java
@@ -19,10 +19,11 @@
*/
package org.sonar.api.resources;
-import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.server.ServerSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* The extension point to define a new language
@@ -34,6 +35,7 @@ import org.sonar.api.batch.InstantiationStrategy;
@BatchSide
@InstantiationStrategy(InstantiationStrategy.PER_BATCH)
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface Language {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java
index 232f7b1c942..ffb93f6f744 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java
@@ -20,17 +20,17 @@
package org.sonar.api.resources;
import com.google.common.collect.Maps;
-import org.apache.commons.lang.ArrayUtils;
-import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
-import org.sonar.api.utils.log.Logger;
-import org.sonar.api.utils.log.Loggers;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang.ArrayUtils;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
+import org.sonar.api.utils.log.Logger;
+import org.sonar.api.utils.log.Loggers;
/**
* A class to store the list of languages
@@ -39,6 +39,7 @@ import java.util.Map;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class Languages {
private static final Logger LOG = Loggers.get(Languages.class);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java
index 50f8181ddca..8f7c2e37a65 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java
@@ -26,19 +26,20 @@ import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ListMultimap;
-import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.14
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class ResourceTypeTree {
private final List<ResourceType> types;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypes.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypes.java
index 02beeab6ede..c8e3cccd3fc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypes.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypes.java
@@ -37,6 +37,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -44,6 +45,7 @@ import org.sonar.api.server.ServerSide;
*/
@Beta
@ServerSide
+@ComputeEngineSide
public class ResourceTypes {
public static final Predicate<ResourceType> AVAILABLE_FOR_FILTERS = new Predicate<ResourceType>() {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
index 187f835d569..36b32882af7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
@@ -24,8 +24,12 @@ import com.google.common.base.Function;
import com.google.common.base.Functions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
+import java.lang.reflect.Field;
+import java.util.Collection;
+import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.PropertyType;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.AnnotationUtils;
import org.sonar.api.utils.FieldUtils2;
@@ -33,16 +37,13 @@ import org.sonar.api.utils.SonarException;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
-import java.lang.reflect.Field;
-import java.util.Collection;
-import java.util.List;
-
/**
* @since 2.3
* @deprecated in 4.2. Replaced by {@link org.sonar.api.server.rule.RulesDefinitionAnnotationLoader}
*/
@Deprecated
@ServerSide
+@ComputeEngineSide
public final class AnnotationRuleParser {
private static final Logger LOG = Loggers.get(AnnotationRuleParser.class);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java
index 882f7868105..e662def172d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java
@@ -19,14 +19,13 @@
*/
package org.sonar.api.rules;
+import java.util.Collection;
+import javax.annotation.CheckForNull;
import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.rule.ActiveRules;
import org.sonar.api.rule.RuleKey;
-
-import javax.annotation.CheckForNull;
-
-import java.util.Collection;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.3
@@ -35,6 +34,7 @@ import java.util.Collection;
@Deprecated
@BatchSide
@ServerSide
+@ComputeEngineSide
public interface RuleFinder {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java
index 3d477768942..6d1f9c407b1 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java
@@ -19,20 +19,21 @@
*/
package org.sonar.api.rules;
+import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.sonar.api.ExtensionPoint;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
-import java.util.List;
-
/**
* @since 2.3
* @deprecated in 4.2. Replaced by org.sonar.api.server.rule.RulesDefinition
*/
@Deprecated
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public abstract class RuleRepository {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java
index ebae9b504a6..6a47931441d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java
@@ -24,6 +24,16 @@ import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.Closeables;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.CharEncoding;
import org.apache.commons.lang.StringUtils;
@@ -31,28 +41,18 @@ import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
import org.sonar.api.PropertyType;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.SonarException;
import org.sonar.check.Cardinality;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
/**
* @since 2.3
* @deprecated in 4.2. Replaced by org.sonar.api.server.rule.RulesDefinition and org.sonar.api.server.rule.RulesDefinitionXmlLoader
*/
@Deprecated
@ServerSide
+@ComputeEngineSide
public final class XMLRuleParser {
private static final Map<String, String> TYPE_MAP = typeMapWithDeprecatedValues();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java
index 929b0792e4a..32dc64795c7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java
@@ -20,6 +20,7 @@
package org.sonar.api.security;
import org.sonar.api.database.model.User;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -28,6 +29,7 @@ import org.sonar.api.server.ServerSide;
*/
@Deprecated
@ServerSide
+@ComputeEngineSide
public interface UserFinder {
User findById(int id);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java
index 5de81929e64..d51b211d920 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java
@@ -26,7 +26,7 @@ import java.lang.annotation.Target;
import org.sonar.api.batch.BatchSide;
/**
- * Same than {@link BatchSide} but for server-side components.
+ * Same as {@link BatchSide} but for server-side components.
*
* @since 5.2
*/
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java
index 4a30cf91d4c..392916a17fa 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java
@@ -19,16 +19,17 @@
*/
package org.sonar.api.server.debt;
+import java.util.List;
import javax.annotation.CheckForNull;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
-import java.util.List;
-
/**
* @since 4.3
* @deprecated in 5.2. It will be dropped in version 6.0 (see https://jira.sonarsource.com/browse/SONAR-6393)
*/
@ServerSide
+@ComputeEngineSide
@Deprecated
public interface DebtModel {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
index 94d5ef5c065..f986ff7248e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
@@ -43,6 +43,7 @@ import org.sonar.api.ExtensionPoint;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
import org.sonar.api.rules.RuleType;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.api.utils.log.Loggers;
@@ -147,6 +148,7 @@ import static org.apache.commons.lang.StringUtils.trimToNull;
* @since 4.3
*/
@ServerSide
+@ComputeEngineSide
@ExtensionPoint
public interface RulesDefinition {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionI18nLoader.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionI18nLoader.java
index 790683805af..1a915f168bf 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionI18nLoader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionI18nLoader.java
@@ -20,8 +20,9 @@
package org.sonar.api.server.rule;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.RuleI18n;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* Loads the English bundles of rules (name, description and parameters) that are
@@ -36,6 +37,7 @@ import org.sonar.api.i18n.RuleI18n;
* @since 4.3
*/
@ServerSide
+@ComputeEngineSide
public class RulesDefinitionI18nLoader {
private final RuleI18n i18n;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
index 6ee19d515bd..71020e0b28d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
@@ -35,6 +35,7 @@ import org.codehaus.staxmate.in.SMInputCursor;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
import org.sonar.api.rules.RuleType;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.check.Cardinality;
@@ -178,6 +179,7 @@ import static org.apache.commons.lang.StringUtils.trim;
* @since 4.3
*/
@ServerSide
+@ComputeEngineSide
public class RulesDefinitionXmlLoader {
private enum DescriptionFormat {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java
index eca30472e98..f81ad8a3529 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java
@@ -21,6 +21,7 @@ package org.sonar.api.user;
import java.util.List;
import javax.annotation.CheckForNull;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -29,6 +30,7 @@ import org.sonar.api.server.ServerSide;
*/
@Deprecated
@ServerSide
+@ComputeEngineSide
public interface UserFinder {
@CheckForNull
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java
index 69e6780e5e8..5645f5223b7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java
@@ -25,6 +25,7 @@ import org.sonar.api.CoreProperties;
import org.sonar.api.batch.BatchSide;
import org.sonar.api.config.Settings;
import org.sonar.api.i18n.I18n;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -34,6 +35,7 @@ import org.sonar.api.server.ServerSide;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class Durations {
public enum DurationFormat {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java
index 8dd268f4c7c..1b82eb6dac0 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java
@@ -27,6 +27,7 @@ import java.util.TimeZone;
import javax.annotation.CheckForNull;
import org.apache.commons.lang.SystemUtils;
import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
/**
@@ -64,6 +65,7 @@ import org.sonar.api.server.ServerSide;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class System2 {
public static final System2 INSTANCE = new System2();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java
index 07476bad436..a1cd561677f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java
@@ -19,13 +19,12 @@
*/
package org.sonar.api.utils;
+import java.io.File;
+import javax.annotation.Nullable;
import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
-import javax.annotation.Nullable;
-
-import java.io.File;
-
/**
* Use this component to deal with temp files/folders. Root location of temp files/folders
* depends on situation:
@@ -38,6 +37,7 @@ import java.io.File;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public interface TempFolder {
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java
index 20b54203335..562f313509c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java
@@ -25,9 +25,6 @@ import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.Files;
-import org.sonar.api.batch.BatchSide;
-import org.sonar.api.server.ServerSide;
-
import java.io.File;
import java.io.IOException;
import java.net.URI;
@@ -35,6 +32,9 @@ import java.nio.charset.Charset;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.server.ServerSide;
/**
* Reads different types of URI. Supported schemes are http and file.
@@ -43,6 +43,7 @@ import java.util.Map;
*/
@BatchSide
@ServerSide
+@ComputeEngineSide
public class UriReader {
private final Map<String, SchemeProcessor> processorsByScheme = Maps.newHashMap();