From: Julien HENRY Date: Tue, 23 Jan 2018 14:06:19 +0000 (+0100) Subject: SLCORE-167 Introduce a parameter to control SonarLint component lifecycle X-Git-Tag: 7.0-RC1~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=03aa0ebb6159dc2c4b0511282e4ed9a303109c55;p=sonarqube.git SLCORE-167 Introduce a parameter to control SonarLint component lifecycle --- diff --git a/sonar-plugin-api/src/main/java/org/sonarsource/api/sonarlint/SonarLintSide.java b/sonar-plugin-api/src/main/java/org/sonarsource/api/sonarlint/SonarLintSide.java index 2922a23abd6..dff8698553e 100644 --- a/sonar-plugin-api/src/main/java/org/sonarsource/api/sonarlint/SonarLintSide.java +++ b/sonar-plugin-api/src/main/java/org/sonarsource/api/sonarlint/SonarLintSide.java @@ -49,4 +49,21 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface SonarLintSide { + + /** + * The component will be instantiated for each analysis (could be single or multiple files analysis). + */ + String SINGLE_ANALYSIS = "SINGLE_ANALYSIS"; + + /** + * The component will be instantiated once and reused by all analyses, as long as the SonarLint engine is not restarted. + */ + String MULTIPLE_ANALYSES = "MULTIPLE_ANALYSES"; + + /** + * Control the lifecycle of the component in the IoC container. + * @since 7.0 + */ + String lifespan() default SINGLE_ANALYSIS; + }