]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7612 Rework Initializer extension point to no more require to use Project
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 11 May 2016 07:13:08 +0000 (09:13 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Thu, 12 May 2016 06:49:09 +0000 (08:49 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java

index 66e2f9f27db36f0d2fde0538fb16241c68993644..2a5ec53ff73eaed1d2989a1d8ec2c0d256073028 100644 (file)
 package org.sonar.api.batch;
 
 import org.sonar.api.ExtensionPoint;
+import org.sonar.api.batch.fs.FileSystem;
 import org.sonar.api.resources.Project;
 
 /**
  * <p>
- * Initializer can execute external tool (like a Maven plugin), change project configuration. For example CoberturaMavenInitializer invokes
- * the Codehaus Cobertura Mojo and sets path to Cobertura report according to Maven POM.
+ * Initializer are executed at the very beginning of each module analysis, prior the core listing files to be analyzed. It means {@link FileSystem} should not be accessed.
  * <p>
- * Initializers are executed first and once during project analysis.
  * @since 2.6
  */
 @BatchSide
 @ExtensionPoint
 public abstract class Initializer implements CheckProject {
 
+  /**
+   * @deprecated since 5.6 should no more be implemented by plugins
+   */
+  @Deprecated
   @Override
   public boolean shouldExecuteOnProject(Project project) {
     return true;
   }
 
-  public abstract void execute(Project project);
+  /**
+   * @deprecated since 5.6 override {@link #execute()} instead
+   */
+  @Deprecated
+  public void execute(Project project) {
+    execute();
+  }
+
+  public void execute() {
+    // To be implemented by client
+  }
 
   @Override
   public String toString() {