Instantiation strategy is set to BATCH. Languages can't depend on module components.tags/4.2
import org.sonar.api.batch.bootstrap.ProjectDefinition; | import org.sonar.api.batch.bootstrap.ProjectDefinition; | ||||
import org.sonar.api.batch.rule.CheckFactory; | import org.sonar.api.batch.rule.CheckFactory; | ||||
import org.sonar.api.platform.ComponentContainer; | import org.sonar.api.platform.ComponentContainer; | ||||
import org.sonar.api.resources.Languages; | |||||
import org.sonar.api.resources.Project; | import org.sonar.api.resources.Project; | ||||
import org.sonar.api.scan.filesystem.FileExclusions; | import org.sonar.api.scan.filesystem.FileExclusions; | ||||
import org.sonar.batch.DefaultProjectClasspath; | import org.sonar.batch.DefaultProjectClasspath; | ||||
PhaseExecutor.getPhaseClasses(), | PhaseExecutor.getPhaseClasses(), | ||||
moduleDefinition.getContainerExtensions(), | moduleDefinition.getContainerExtensions(), | ||||
// TODO move outside project, but not possible yet because of dependency of project settings (cf plsql) | |||||
Languages.class, | |||||
// file system | // file system | ||||
FileExclusions.class, | FileExclusions.class, | ||||
ExclusionFilters.class, | ExclusionFilters.class, |
import org.sonar.api.batch.bootstrap.ProjectReactor; | import org.sonar.api.batch.bootstrap.ProjectReactor; | ||||
import org.sonar.api.config.Settings; | import org.sonar.api.config.Settings; | ||||
import org.sonar.api.platform.ComponentContainer; | import org.sonar.api.platform.ComponentContainer; | ||||
import org.sonar.api.resources.Languages; | |||||
import org.sonar.api.resources.Project; | import org.sonar.api.resources.Project; | ||||
import org.sonar.api.scan.filesystem.PathResolver; | import org.sonar.api.scan.filesystem.PathResolver; | ||||
import org.sonar.api.utils.SonarException; | import org.sonar.api.utils.SonarException; | ||||
GraphPersister.class, | GraphPersister.class, | ||||
// lang | // lang | ||||
Languages.class, | |||||
HighlightableBuilder.class, | HighlightableBuilder.class, | ||||
SymbolizableBuilder.class, | SymbolizableBuilder.class, | ||||
import org.sonar.api.BatchExtension; | import org.sonar.api.BatchExtension; | ||||
import org.sonar.api.ServerExtension; | import org.sonar.api.ServerExtension; | ||||
import org.sonar.api.batch.InstantiationStrategy; | |||||
/** | /** | ||||
* The extension point to define a new language | * The extension point to define a new language | ||||
* | * | ||||
* @since 1.10 | * @since 1.10 | ||||
*/ | */ | ||||
@InstantiationStrategy(InstantiationStrategy.PER_BATCH) | |||||
public interface Language extends BatchExtension, ServerExtension { | public interface Language extends BatchExtension, ServerExtension { | ||||
/** | /** |