aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/DefaultResourceTypes.java4
-rw-r--r--plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/XooTokenizer.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/IndexPurgeListener.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/activity/RubyQProfileActivityService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/batch/BatchIndex.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/charts/ChartFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentLinkDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueueCleaner.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/Dao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/DatabaseChecker.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtCharacteristicsXMLImporter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelBackup.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelLookup.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelOperations.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelPluginRepository.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelXMLExporter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/debt/DebtRulesXMLImporter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/BaseIndex.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/BaseIndexer.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/IndexCreator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinition.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinitions.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/event/db/EventDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/AbstractChangeTagsAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/Action.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/AddTagsAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/AssignAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/CommentAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueCommentService.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/PlanAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/RemoveTagsAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/SetSeverityAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/TransitionAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWriter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/notification/NewIssuesNotificationFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueActionsWriter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterEngine.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterExecutor.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MetricDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationCenter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/permission/PermissionFinder.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/monitoring/Monitor.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/plugins/ServerExtensionInstaller.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginExploder.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInProfiles.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuper.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileComparison.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileCopier.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLoader.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectLookup.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectOperations.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileReset.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContextFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/BulkRuleActivationActions.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationActions.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/DeprecatedRulesDefinitionLoader.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleDefinitionsLoader.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleOperations.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleRepositories.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/ws/ActiveRuleCompleter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/Index.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/IndexClient.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/IndexQueue.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/ws/BaseMapping.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/source/HtmlSourceDecorator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/source/SourceService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/source/db/FileSourceDao.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/startup/CopyRequirementsFromCharacteristicsToRules.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/startup/GeneratePluginIndex.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/text/MacroInterpreter.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/text/RubyTextService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ui/JRubyI18n.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ui/PageDecorations.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ui/Views.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipFinder.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipService.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/NewUserNotifier.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/SecurityRealmFactory.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/index/UserIndex.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/util/TypeValidation.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/util/TypeValidations.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/view/index/ViewIndex.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ws/WebServiceEngine.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/ProjectConfigurator.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginExploder.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginLoader.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginPredicate.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/DatabaseCompatibility.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionMatcher.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionUtils.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/MetricProvider.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/ServerClient.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrapper/EnvironmentInformation.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/cpd/CpdEngine.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/cpd/CpdMappings.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/cpd/index/IndexFactory.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/debt/IssueChangelogDebtCalculator.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/debt/SqaleRatingSettings.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDate.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDays.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousAnalysis.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousVersion.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByVersion.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PeriodsDefinition.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/Caches.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/ResourceCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/ScanPersister.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/IssueCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/IssueFilters.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/ignore/pattern/AbstractPatternInitializer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsRegexpScanner.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/InitialOpenIssuesStack.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueHandlers.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueTracking.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerLineHashesLoader.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/mediumtest/ScanTaskObserver.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/ProjectInitializer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/postjob/PostJobOptimizer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/qualitygate/QualityGate.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/report/EventCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/repository/language/LanguagesRepository.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/rule/QProfileVerifier.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileSystemLogger.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputPathCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/LanguageDetectionFactory.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleFileSystemInitializer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/StatusDetectionFactory.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/measure/MeasureCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReportBuilder.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReports.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/report/Reporter.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/report/RuleNameProvider.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/report/SourceProvider.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/sensor/SensorOptimizer.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizers.java2
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/ScanGraph.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/computation/dbcleaner/period/DefaultPeriodCleaner.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/config/Logback.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/dashboard/ActiveDashboardDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/dashboard/DashboardDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/duplication/DuplicationDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/i18n/RuleI18nManager.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/IssueFilterSerializer.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/IssueUpdater.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueChangeDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterFavouriteDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/workflow/FunctionExecutor.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/workflow/IssueWorkflow.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/measure/db/MeasureFilterDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/notification/db/NotificationQueueDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/SemaphoreUpdater.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/platform/ComponentContainer.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/platform/PluginRepository.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/properties/PropertiesDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDao.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/template/LoadedTemplateDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/timemachine/Periods.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/user/AuthorDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/user/AuthorizationDao.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/user/RoleDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/user/UserDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/BatchComponent.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/BatchExtension.java2
-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.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/AnalysisMode.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/BatchSide.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/BatchSide.java)2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/CoverageExtension.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/CpdMapping.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/Decorator.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/ProjectClasspath.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceCreationLock.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceFilter.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/SupportedEnvironment.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/TimeMachine.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBootstrapper.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBuilder.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectReactor.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/events/EventHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/FileSystem.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFileFilter.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/FileMetadata.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/MetricFinder.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJob.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRules.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/CheckFactory.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/BlameCommand.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/ScmProvider.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/Sensor.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorStorage.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/charts/Chart.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/component/Perspectives.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java2
-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/GlobalPropertyChangeHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/Settings.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/i18n/I18n.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/i18n/RuleI18n.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFilter.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/ProjectIssues.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/action/Actions.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/batch/IssueFilter.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/FileLinesContextFactory.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/MetricFinder.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/Metrics.java4
-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/notifications/NotificationDispatcher.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcherMetadata.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationManager.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/ServerFileSystem.java2
-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.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileDefinition.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileExporter.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileImporter.java2
-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.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Languages.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/ResourceTypeTree.java4
-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.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleFinder.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleRepository.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/XMLRuleParser.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileExclusions.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileSystemFilter.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/ModuleFileSystem.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/PathResolver.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/Authenticator.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/LoginPasswordAuthenticator.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/ResourcePermissions.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/SecurityRealm.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/security/UserFinder.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/ServerSide.java)5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/debt/DebtModel.java2
-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.java2
-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/server/ws/RequestHandler.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/task/TaskComponent.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/technicaldebt/batch/TechnicalDebtModel.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/user/RubyUserService.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/user/UserFinder.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/Durations.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/Semaphores.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/System2.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/TempFolder.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/UriReader.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/internal/TempFolderCleaner.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/DashboardTemplate.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/FilterTemplate.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/Footer.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/PageDecoration.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/ServletFilter.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/View.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/web/Webservice.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/plugins/emailnotifications/api/EmailTemplate.java2
358 files changed, 419 insertions, 422 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/DefaultResourceTypes.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/DefaultResourceTypes.java
index 4dda3ddbc95..dcb0f91f6e0 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/DefaultResourceTypes.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/DefaultResourceTypes.java
@@ -19,9 +19,9 @@
*/
package org.sonar.plugins.core;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionProvider;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.ResourceType;
diff --git a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/XooTokenizer.java b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/XooTokenizer.java
index 2d5325bcbb0..4d1b544f72d 100644
--- a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/XooTokenizer.java
+++ b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/XooTokenizer.java
@@ -25,7 +25,7 @@ import net.sourceforge.pmd.cpd.TokenEntry;
import net.sourceforge.pmd.cpd.Tokenizer;
import net.sourceforge.pmd.cpd.Tokens;
import org.apache.commons.io.FileUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.FileSystem;
import java.io.File;
diff --git a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/IndexPurgeListener.java b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/IndexPurgeListener.java
index 7bf30446b5a..959e55c0b72 100644
--- a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/IndexPurgeListener.java
+++ b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/IndexPurgeListener.java
@@ -20,7 +20,7 @@
package org.sonar.core.computation.dbcleaner;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.purge.PurgeListener;
import org.sonar.server.source.index.SourceLineIndexer;
import org.sonar.server.test.index.TestIndexer;
diff --git a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java
index dba317bce9d..bc42ff16bcb 100644
--- a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java
+++ b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java
@@ -21,7 +21,7 @@
package org.sonar.core.computation.dbcleaner;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.TimeUtils;
import org.sonar.api.utils.log.Logger;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java b/server/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java
index d08a36ff518..950a6e16140 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.activity;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.core.activity.db.ActivityDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/RubyQProfileActivityService.java b/server/sonar-server/src/main/java/org/sonar/server/activity/RubyQProfileActivityService.java
index 8ed00b89165..45ee80c9a5d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/activity/RubyQProfileActivityService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/activity/RubyQProfileActivityService.java
@@ -21,7 +21,7 @@
package org.sonar.server.activity;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Paging;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.qualityprofile.QProfileActivity;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java b/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java
index 8be7c8b558f..35c7548df61 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/activity/db/ActivityDao.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.activity.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.System2;
import org.sonar.core.activity.db.ActivityDto;
import org.sonar.core.activity.db.ActivityMapper;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/batch/BatchIndex.java b/server/sonar-server/src/main/java/org/sonar/server/batch/BatchIndex.java
index 373d097dac7..77ab8034969 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/batch/BatchIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/batch/BatchIndex.java
@@ -26,7 +26,7 @@ import org.apache.commons.io.filefilter.HiddenFileFilter;
import org.apache.commons.lang.CharUtils;
import org.apache.commons.lang.StringUtils;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.platform.Server;
import org.sonar.home.cache.FileHashes;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java b/server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java
index dda6f2e72e0..a1f19bc37b8 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java
@@ -24,7 +24,7 @@ import com.google.common.base.Function;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Language;
import org.sonar.api.resources.Languages;
import org.sonar.api.rule.RuleKey;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/charts/ChartFactory.java b/server/sonar-server/src/main/java/org/sonar/server/charts/ChartFactory.java
index dd1dcd8f516..5dd3e7092a7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/charts/ChartFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/charts/ChartFactory.java
@@ -20,7 +20,7 @@
package org.sonar.server.charts;
import com.google.common.collect.Maps;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.charts.Chart;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java
index 62245dca64f..2b6604b2c18 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java
@@ -20,7 +20,7 @@
package org.sonar.server.component;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.ResourceType;
import org.sonar.api.resources.ResourceTypes;
import org.sonar.api.resources.Scopes;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
index d3418f82621..60b8db8eea3 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
@@ -24,7 +24,7 @@ import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.collect.Collections2;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.resources.Scopes;
import org.sonar.api.utils.System2;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java
index 1251de53131..ef9e4482f71 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java
@@ -23,7 +23,7 @@ package org.sonar.server.component.db;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import org.apache.ibatis.session.RowBounds;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Scopes;
import org.sonar.core.component.ComponentDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java
index 6ed1e6601a7..f091ee7775a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java
@@ -20,7 +20,7 @@
package org.sonar.server.component.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.component.db.ComponentIndexMapper;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentLinkDao.java b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentLinkDao.java
index 00e8a1c1c93..d4039410d35 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentLinkDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentLinkDao.java
@@ -20,7 +20,7 @@
package org.sonar.server.component.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.component.ComponentLinkDto;
import org.sonar.core.component.db.ComponentLinkMapper;
import org.sonar.core.persistence.DaoComponent;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java
index 5e4d2a435b4..f48a8fd3368 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java
@@ -23,7 +23,7 @@ package org.sonar.server.computation;
import com.google.common.base.Throwables;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.ArrayUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.TempFolder;
import org.sonar.api.utils.ZipUtils;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java
index a8820810169..afd4fe1a92c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java
@@ -21,7 +21,7 @@
package org.sonar.server.computation;
import org.apache.commons.io.FileUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.api.utils.log.Loggers;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueueCleaner.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueueCleaner.java
index 275be19dd72..fb82118ccd8 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueueCleaner.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueueCleaner.java
@@ -21,7 +21,7 @@
package org.sonar.server.computation;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.platform.ServerUpgradeStatus;
/**
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/Dao.java b/server/sonar-server/src/main/java/org/sonar/server/db/Dao.java
index 9ba3569fadd..ceeb48d882b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/db/Dao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/db/Dao.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.Dto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/DatabaseChecker.java b/server/sonar-server/src/main/java/org/sonar/server/db/DatabaseChecker.java
index 3055c9c2663..0cb1d9dbeaf 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/db/DatabaseChecker.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/db/DatabaseChecker.java
@@ -23,7 +23,7 @@ import com.google.common.base.Throwables;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.lang.StringUtils;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.MessageException;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.Database;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java b/server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java
index 88178d94036..56334b663af 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.issue.db.ActionPlanDao;
import org.sonar.core.issue.db.IssueChangeDao;
import org.sonar.core.issue.db.IssueFilterDao;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java
index 91c7cafe6d7..7828afce580 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.dbutils.DbUtils;
import org.apache.ibatis.session.SqlSession;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.platform.ServerUpgradeStatus;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.DdlUtils;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtCharacteristicsXMLImporter.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtCharacteristicsXMLImporter.java
index 2baebc2b464..d48de3632f3 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtCharacteristicsXMLImporter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtCharacteristicsXMLImporter.java
@@ -25,7 +25,7 @@ import org.codehaus.stax2.XMLInputFactory2;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.debt.internal.DefaultDebtCharacteristic;
import org.sonar.api.server.rule.RulesDefinition;
import org.sonar.server.debt.DebtModelXMLExporter.DebtModel;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelBackup.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelBackup.java
index 90659cc54a4..00f436cb9f0 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelBackup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelBackup.java
@@ -24,7 +24,7 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.server.debt.DebtCharacteristic;
import org.sonar.api.server.debt.DebtRemediationFunction;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelLookup.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelLookup.java
index 8b8ca5d4276..f577249d55e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelLookup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelLookup.java
@@ -22,7 +22,7 @@ package org.sonar.server.debt;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.debt.DebtCharacteristic;
import org.sonar.api.server.debt.internal.DefaultDebtCharacteristic;
import org.sonar.core.technicaldebt.db.CharacteristicDao;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelOperations.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelOperations.java
index 67137938dd1..fcbb6a6f337 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelOperations.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelOperations.java
@@ -23,7 +23,7 @@ package org.sonar.server.debt;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.debt.DebtCharacteristic;
import org.sonar.api.server.debt.internal.DefaultDebtCharacteristic;
import org.sonar.api.utils.System2;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelPluginRepository.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelPluginRepository.java
index 67b016de536..0b04cd571f9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelPluginRepository.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelPluginRepository.java
@@ -24,7 +24,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Maps;
import org.picocontainer.Startable;
import org.sonar.api.Plugin;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.platform.PluginInfo;
import org.sonar.core.platform.PluginRepository;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelXMLExporter.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelXMLExporter.java
index fc14e492886..428983b2de6 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelXMLExporter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtModelXMLExporter.java
@@ -26,7 +26,7 @@ import com.google.common.collect.Multimap;
import com.google.common.collect.Ordering;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.server.debt.DebtCharacteristic;
import org.sonar.api.server.debt.internal.DefaultDebtCharacteristic;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtRulesXMLImporter.java b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtRulesXMLImporter.java
index 90905e7ad3e..7b30834dfd9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/debt/DebtRulesXMLImporter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/debt/DebtRulesXMLImporter.java
@@ -29,7 +29,7 @@ import org.codehaus.stax2.XMLInputFactory2;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.api.utils.Duration;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java b/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java
index b4e615d028b..cddf4b3ed6d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java
@@ -21,7 +21,7 @@
package org.sonar.server.duplication.ws;
import com.google.common.annotations.VisibleForTesting;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java b/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java
index 9721fc23f49..e166f9cba0d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java
@@ -25,7 +25,7 @@ import org.apache.commons.lang.StringUtils;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.persistence.DbSession;
import org.sonar.server.component.db.ComponentDao;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndex.java b/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndex.java
index af1ad4801df..a59e397985d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndex.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.es;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
@ServerSide
public abstract class BaseIndex {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndexer.java b/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndexer.java
index 75d314002b5..b6c994f2f12 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndexer.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/es/BaseIndexer.java
@@ -22,7 +22,7 @@ package org.sonar.server.es;
import com.google.common.base.Throwables;
import com.google.common.util.concurrent.Uninterruptibles;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/IndexCreator.java b/server/sonar-server/src/main/java/org/sonar/server/es/IndexCreator.java
index 2cfe7794a51..2f1e07d59b0 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/es/IndexCreator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/es/IndexCreator.java
@@ -25,7 +25,7 @@ import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingResponse;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinition.java b/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinition.java
index 12cb6676d00..7f9adbfbae7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinition.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinition.java
@@ -21,7 +21,7 @@ package org.sonar.server.es;
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Map;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinitions.java b/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinitions.java
index b3ee7b78dba..393efeab4c4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinitions.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/es/IndexDefinitions.java
@@ -23,7 +23,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import org.elasticsearch.common.settings.Settings;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Map;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/event/db/EventDao.java b/server/sonar-server/src/main/java/org/sonar/server/event/db/EventDao.java
index 015a758a676..e3987e83b95 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/event/db/EventDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/event/db/EventDao.java
@@ -20,7 +20,7 @@
package org.sonar.server.event.db;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.event.EventDto;
import org.sonar.core.event.db.EventMapper;
import org.sonar.core.persistence.DaoComponent;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/AbstractChangeTagsAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/AbstractChangeTagsAction.java
index bdccc311955..aa1542a659d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/AbstractChangeTagsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/AbstractChangeTagsAction.java
@@ -23,7 +23,7 @@ package org.sonar.server.issue;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.IsUnResolved;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/Action.java b/server/sonar-server/src/main/java/org/sonar/server/issue/Action.java
index 99e9cf1e804..40f6d03988b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/Action.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/Action.java
@@ -23,7 +23,7 @@ package org.sonar.server.issue;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.Condition;
import org.sonar.api.issue.internal.IssueChangeContext;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java
index 0e65b4238a8..b5660789cad 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java
@@ -24,7 +24,7 @@ import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.base.Strings;
import com.google.common.collect.Iterables;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.component.Component;
import org.sonar.api.config.Settings;
import org.sonar.api.issue.Issue;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/AddTagsAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/AddTagsAction.java
index d0cf6691bbd..5957d2231ca 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/AddTagsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/AddTagsAction.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.issue.IssueUpdater;
import java.util.Collection;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/AssignAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/AssignAction.java
index 8c05a9de673..0c15344639a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/AssignAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/AssignAction.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue;
import com.google.common.base.Strings;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.IsUnResolved;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/CommentAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/CommentAction.java
index 5f384327c34..1894564147d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/CommentAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/CommentAction.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue;
import com.google.common.base.Strings;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.core.issue.IssueUpdater;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java
index 208eb4ba22c..83db935db6a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/InternalRubyIssueService.java
@@ -27,7 +27,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.ActionPlan;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.IssueComment;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java
index 57192454d1f..aebc35d8529 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.issue.internal.FieldDiffs;
import org.sonar.api.utils.Duration;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogService.java
index c7933b55722..62c85672fd5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogService.java
@@ -21,7 +21,7 @@ package org.sonar.server.issue;
import java.util.Collection;
import java.util.List;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.FieldDiffs;
import org.sonar.api.user.User;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueCommentService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueCommentService.java
index 3852b4c286d..4a1bb7c307d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueCommentService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueCommentService.java
@@ -22,14 +22,13 @@ package org.sonar.server.issue;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.IssueComment;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.DefaultIssueComment;
import org.sonar.api.issue.internal.IssueChangeContext;
import org.sonar.api.utils.System2;
import org.sonar.core.issue.IssueUpdater;
-import org.sonar.core.issue.db.IssueChangeDao;
import org.sonar.core.issue.db.IssueChangeDto;
import org.sonar.core.persistence.DbSession;
import org.sonar.server.db.DbClient;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
index 59bc7e03127..0c9d33b7f95 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
@@ -34,7 +34,7 @@ import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.ObjectUtils;
import org.joda.time.DateTime;
import org.joda.time.format.ISOPeriodFormat;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.server.ws.Request;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
index 2d46062b578..5eccb7e9e4e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
@@ -22,7 +22,7 @@ package org.sonar.server.issue;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.ActionPlan;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/PlanAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/PlanAction.java
index 0289237bb1b..690dca8de77 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/PlanAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/PlanAction.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue;
import com.google.common.base.Strings;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.ActionPlan;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.IsUnResolved;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/RemoveTagsAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/RemoveTagsAction.java
index 5b3cbf52fd7..eb7c55c05bc 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/RemoveTagsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/RemoveTagsAction.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.issue.IssueUpdater;
import java.util.Collection;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java
index 190e71f59cf..eabaeb44089 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.issue;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.rules.RuleFinder;
import org.sonar.core.component.ComponentDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/SetSeverityAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/SetSeverityAction.java
index f84b3de627c..74e252e36a4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/SetSeverityAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/SetSeverityAction.java
@@ -23,7 +23,7 @@ package org.sonar.server.issue;
import java.util.Collection;
import java.util.Map;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.Condition;
import org.sonar.api.issue.condition.IsUnResolved;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/TransitionAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/TransitionAction.java
index d0fe9d5298b..19845815146 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/TransitionAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/TransitionAction.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.core.issue.workflow.IssueWorkflow;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java
index 1d7299a8a20..98335080499 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java
@@ -22,7 +22,7 @@ package org.sonar.server.issue.actionplan;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.ActionPlan;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.IssueChangeContext;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterService.java b/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterService.java
index a7e6e9d0ee0..71e4da9e2ca 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterService.java
@@ -23,7 +23,7 @@ package org.sonar.server.issue.filter;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Paging;
import org.sonar.core.issue.IssueFilterSerializer;
import org.sonar.core.issue.db.IssueFilterDao;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWriter.java b/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWriter.java
index 064cc2e5caa..02df75f6fcf 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWriter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/filter/IssueFilterWriter.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue.filter;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.core.issue.db.IssueFilterDto;
import org.sonar.core.permission.GlobalPermissions;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/notification/NewIssuesNotificationFactory.java b/server/sonar-server/src/main/java/org/sonar/server/issue/notification/NewIssuesNotificationFactory.java
index a3cfa9a3f8b..52feb1f21e2 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/notification/NewIssuesNotificationFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/notification/NewIssuesNotificationFactory.java
@@ -20,7 +20,7 @@
package org.sonar.server.issue.notification;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Durations;
import org.sonar.server.db.DbClient;
import org.sonar.server.rule.index.RuleIndex;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueActionsWriter.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueActionsWriter.java
index a165eeaa5c1..705f45de7e1 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueActionsWriter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueActionsWriter.java
@@ -21,7 +21,7 @@
package org.sonar.server.issue.ws;
import java.util.List;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.action.Action;
import org.sonar.api.utils.text.JsonWriter;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterEngine.java b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterEngine.java
index 0365b66368c..0857bb95d45 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterEngine.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterEngine.java
@@ -20,7 +20,7 @@
package org.sonar.server.measure;
import com.google.common.base.Joiner;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.api.utils.log.Profiler;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterExecutor.java b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterExecutor.java
index 5d4dffc3af6..beb3e649661 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterExecutor.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterExecutor.java
@@ -22,7 +22,7 @@ package org.sonar.server.measure;
import com.google.common.base.Strings;
import org.apache.commons.dbutils.DbUtils;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.Database;
import org.sonar.core.persistence.MyBatis;
import org.sonar.core.resource.ResourceDao;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterFactory.java b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterFactory.java
index e2767f63340..ed45bb26229 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/MeasureFilterFactory.java
@@ -25,7 +25,7 @@ import com.google.common.base.Strings;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Metric;
import org.sonar.api.measures.MetricFinder;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java b/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java
index b77872aec3a..611a2f21655 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java
@@ -21,7 +21,7 @@
package org.sonar.server.measure.persistence;
import com.google.common.base.Function;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.measure.db.MeasureDto;
import org.sonar.core.measure.db.MeasureMapper;
import org.sonar.core.persistence.DaoComponent;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MetricDao.java b/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MetricDao.java
index e2dd1d6042c..97758e56759 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MetricDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/measure/persistence/MetricDao.java
@@ -20,7 +20,7 @@
package org.sonar.server.measure.persistence;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.measure.db.MetricDto;
import org.sonar.core.measure.db.MetricMapper;
import org.sonar.core.persistence.DaoComponent;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationCenter.java b/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationCenter.java
index df16532b620..976a97e652f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationCenter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationCenter.java
@@ -20,7 +20,7 @@
package org.sonar.server.notifications;
import com.google.common.collect.Lists;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.notifications.NotificationChannel;
import org.sonar.api.notifications.NotificationDispatcherMetadata;
import org.sonar.api.utils.log.Logger;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationService.java b/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationService.java
index 37edac4b0ad..c4def6da424 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/notifications/NotificationService.java
@@ -34,7 +34,7 @@ import java.util.concurrent.TimeUnit;
import org.picocontainer.Startable;
import org.sonar.api.Properties;
import org.sonar.api.Property;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.notifications.Notification;
import org.sonar.api.notifications.NotificationChannel;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
index 70d38e82a30..5a7f011a7ba 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
@@ -20,7 +20,7 @@
package org.sonar.server.permission;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.security.DefaultGroups;
import org.sonar.api.web.UserRole;
import org.sonar.core.component.ComponentDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java
index db18e3846c8..ac1bbb48235 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionTemplateService.java
@@ -22,7 +22,7 @@ package org.sonar.server.permission;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.core.permission.PermissionTemplateDao;
import org.sonar.core.permission.PermissionTemplateDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionFinder.java b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionFinder.java
index 6ef8b4620e0..e6d65ddd300 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionFinder.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionFinder.java
@@ -22,7 +22,7 @@ package org.sonar.server.permission;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.security.DefaultGroups;
import org.sonar.api.utils.Paging;
import org.sonar.core.permission.GroupWithPermission;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java b/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java
index 22e7c803569..01fefe7ee5c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java
@@ -21,7 +21,7 @@ package org.sonar.server.platform;
import org.apache.commons.dbutils.DbUtils;
import org.elasticsearch.index.query.QueryBuilders;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.DatabaseVersion;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/monitoring/Monitor.java b/server/sonar-server/src/main/java/org/sonar/server/platform/monitoring/Monitor.java
index b647c6c35eb..85f132ecd76 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/monitoring/Monitor.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/monitoring/Monitor.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.platform.monitoring;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.server.platform.ws.InfoAction;
import java.util.LinkedHashMap;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerExtensionInstaller.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerExtensionInstaller.java
index 6dbc75db6af..7df318fbdf4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerExtensionInstaller.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerExtensionInstaller.java
@@ -24,7 +24,7 @@ import com.google.common.collect.ListMultimap;
import org.sonar.api.Extension;
import org.sonar.api.ExtensionProvider;
import org.sonar.api.Plugin;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.AnnotationUtils;
import org.sonar.core.platform.ComponentContainer;
import org.sonar.core.platform.PluginInfo;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginExploder.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginExploder.java
index 5d3bad59fa8..e312120c2b0 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginExploder.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginExploder.java
@@ -20,7 +20,7 @@
package org.sonar.server.plugins;
import org.apache.commons.io.FileUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ZipUtils;
import org.sonar.core.platform.ExplodedPlugin;
import org.sonar.core.platform.PluginExploder;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java b/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java
index 139df70d8f6..7a5fc5862de 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java
@@ -22,7 +22,7 @@ package org.sonar.server.properties;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Maps;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.core.properties.PropertiesDao;
import org.sonar.core.properties.PropertyDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java
index 80da0318a85..53b98ce0b9f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java
@@ -20,7 +20,7 @@
package org.sonar.server.qualitygate;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.qualitygate.db.ProjectQgateAssociation;
import org.sonar.core.qualitygate.db.ProjectQgateAssociationDao;
import org.sonar.core.qualitygate.db.ProjectQgateAssociationDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInProfiles.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInProfiles.java
index df6ad518980..85c1d0fa881 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInProfiles.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInProfiles.java
@@ -22,7 +22,7 @@ package org.sonar.server.qualityprofile;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Collection;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuper.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuper.java
index 520d669bfa3..bb6555adf7b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuper.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuper.java
@@ -29,7 +29,7 @@ import org.apache.commons.lang.builder.CompareToBuilder;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.text.XmlWriter;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileComparison.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileComparison.java
index 32939e2eac5..c33d8cb93a0 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileComparison.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileComparison.java
@@ -23,7 +23,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.QualityProfileDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileCopier.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileCopier.java
index af91f724f54..6d53f1ab47a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileCopier.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileCopier.java
@@ -22,7 +22,7 @@ package org.sonar.server.qualityprofile;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.TempFolder;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.QualityProfileDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
index 13d9d364ac7..da3c19f3033 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
@@ -21,7 +21,7 @@ package org.sonar.server.qualityprofile;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.profiles.ProfileExporter;
import org.sonar.api.profiles.ProfileImporter;
import org.sonar.api.profiles.RulesProfile;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
index 0daa31a485d..f42d9672b9a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
@@ -22,7 +22,7 @@ package org.sonar.server.qualityprofile;
import com.google.common.collect.Lists;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.QualityProfileDto;
import org.sonar.server.db.DbClient;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLoader.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLoader.java
index 38a652bead9..18612747476 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLoader.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLoader.java
@@ -21,7 +21,7 @@ package org.sonar.server.qualityprofile;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.RuleStatus;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
index ed403ee4024..7f522fd2a31 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileLookup.java
@@ -22,7 +22,7 @@ package org.sonar.server.qualityprofile;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.QualityProfileDto;
import org.sonar.server.db.DbClient;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectLookup.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectLookup.java
index a4ca8e3f1be..a0440eebb75 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectLookup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectLookup.java
@@ -26,7 +26,7 @@ import java.util.Map;
import javax.annotation.CheckForNull;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.component.Component;
import org.sonar.api.web.UserRole;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectOperations.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectOperations.java
index 0e0bb228059..267b066a80b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectOperations.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileProjectOperations.java
@@ -20,7 +20,7 @@
package org.sonar.server.qualityprofile;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.web.UserRole;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.permission.GlobalPermissions;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileReset.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileReset.java
index 46771b0fdaa..475c85cf5ad 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileReset.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileReset.java
@@ -24,7 +24,7 @@ import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.profiles.ProfileDefinition;
import org.sonar.api.profiles.RulesProfile;
import org.sonar.api.rule.RuleKey;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
index 56ab441ac67..a9d03ea9858 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java
@@ -32,7 +32,7 @@ import javax.annotation.Nullable;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.search.SearchHit;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.ActiveRuleKey;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java
index e1fd4bf770c..e2f65444e5e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java
@@ -24,7 +24,7 @@ import java.util.List;
import javax.annotation.CheckForNull;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.component.Component;
import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.user.UserSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java
index d196687623a..063a5abc6e7 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java
@@ -25,7 +25,7 @@ import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimaps;
import com.google.common.collect.Sets;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.profiles.ProfileDefinition;
import org.sonar.api.profiles.RulesProfile;
import org.sonar.api.resources.Languages;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
index 9a3d490f778..650c5a0e0a5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
@@ -21,7 +21,7 @@ package org.sonar.server.qualityprofile;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.rule.RuleParamType;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.ActiveRuleDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContextFactory.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContextFactory.java
index 7a9c6934ba6..3b6c56b72cc 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContextFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivatorContextFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.qualityprofile;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.qualityprofile.db.ActiveRuleDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/BulkRuleActivationActions.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/BulkRuleActivationActions.java
index 3887cdf6b3d..3ef6b501e22 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/BulkRuleActivationActions.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/BulkRuleActivationActions.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.qualityprofile.ws;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.rule.Severity;
import org.sonar.api.server.ws.Request;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationActions.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationActions.java
index 54d9eed60d6..037b02cf0ba 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationActions.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationActions.java
@@ -20,7 +20,7 @@
package org.sonar.server.qualityprofile.ws;
import com.google.common.base.Preconditions;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Languages;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.RequestHandler;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java
index a9cedb73d4a..599365d82d1 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.qualityprofile.ws;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.Severity;
import org.sonar.api.server.ws.Request;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/DeprecatedRulesDefinitionLoader.java b/server/sonar-server/src/main/java/org/sonar/server/rule/DeprecatedRulesDefinitionLoader.java
index c9db18ddcbe..ca56bdab178 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/DeprecatedRulesDefinitionLoader.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/DeprecatedRulesDefinitionLoader.java
@@ -23,7 +23,7 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rules.RuleParam;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java
index 46369fe0d8e..dffd6d9f466 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RubyRuleService.java
@@ -24,7 +24,7 @@ import java.util.List;
import java.util.Map;
import javax.annotation.CheckForNull;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.server.debt.DebtRemediationFunction;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
index f0e9d69fd94..39fcbe4860d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java
@@ -22,7 +22,7 @@ package org.sonar.server.rule;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDefinitionsLoader.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDefinitionsLoader.java
index e3b5e9d3012..53c2b0389ad 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDefinitionsLoader.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDefinitionsLoader.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.rule;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.rule.RulesDefinition;
/**
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java
index b560f357f1d..db7b5c595d5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleDeleter.java
@@ -20,7 +20,7 @@
package org.sonar.server.rule;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rule.RuleStatus;
import org.sonar.core.persistence.DbSession;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleOperations.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleOperations.java
index 651b6d1560d..f98fe84c8cb 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleOperations.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleOperations.java
@@ -22,7 +22,7 @@ package org.sonar.server.rule;
import com.google.common.base.Strings;
import org.apache.commons.lang.builder.EqualsBuilder;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.api.server.debt.internal.DefaultDebtRemediationFunction;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleRepositories.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleRepositories.java
index 3e2411f5385..9fbb676dc7c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleRepositories.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleRepositories.java
@@ -24,7 +24,7 @@ import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.SetMultimap;
import org.apache.commons.lang.builder.CompareToBuilder;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.server.rule.RulesDefinition;
import javax.annotation.CheckForNull;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleService.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleService.java
index e800e076200..f585a3118d6 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleService.java
@@ -26,7 +26,7 @@ import java.util.Set;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.server.exceptions.NotFoundException;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java
index e9e2200f6d8..8d469629b0a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java
@@ -25,7 +25,7 @@ import com.google.common.collect.Multimap;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
import org.sonar.api.server.debt.DebtRemediationFunction;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/ws/ActiveRuleCompleter.java b/server/sonar-server/src/main/java/org/sonar/server/rule/ws/ActiveRuleCompleter.java
index 1c805f71115..f6240163e65 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/ws/ActiveRuleCompleter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/ws/ActiveRuleCompleter.java
@@ -21,7 +21,7 @@ package org.sonar.server.rule.ws;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Language;
import org.sonar.api.resources.Languages;
import org.sonar.api.rule.RuleKey;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/Index.java b/server/sonar-server/src/main/java/org/sonar/server/search/Index.java
index d71755315b0..d14e5497ee4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/search/Index.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/search/Index.java
@@ -20,7 +20,7 @@
package org.sonar.server.search;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.Dto;
import javax.annotation.CheckForNull;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/IndexClient.java b/server/sonar-server/src/main/java/org/sonar/server/search/IndexClient.java
index 882b5af4c60..e58982ed12d 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/search/IndexClient.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/search/IndexClient.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.search;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Collection;
import java.util.HashMap;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/IndexQueue.java b/server/sonar-server/src/main/java/org/sonar/server/search/IndexQueue.java
index 441569fbdb6..a6f264752db 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/search/IndexQueue.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/search/IndexQueue.java
@@ -28,7 +28,7 @@ import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.update.UpdateRequest;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.cluster.WorkQueue;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/ws/BaseMapping.java b/server/sonar-server/src/main/java/org/sonar/server/search/ws/BaseMapping.java
index 93a84786bfd..fd501c432a1 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/search/ws/BaseMapping.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/search/ws/BaseMapping.java
@@ -21,7 +21,7 @@ package org.sonar.server.search.ws;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Multimap;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.server.search.BaseDoc;
import org.sonar.server.search.IndexUtils;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/source/HtmlSourceDecorator.java b/server/sonar-server/src/main/java/org/sonar/server/source/HtmlSourceDecorator.java
index ae74bd38912..8d7821999a9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/source/HtmlSourceDecorator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/source/HtmlSourceDecorator.java
@@ -20,7 +20,7 @@
package org.sonar.server.source;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/source/SourceService.java b/server/sonar-server/src/main/java/org/sonar/server/source/SourceService.java
index 5361258c25b..206f8733269 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/source/SourceService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/source/SourceService.java
@@ -22,7 +22,7 @@ package org.sonar.server.source;
import org.apache.commons.lang.ObjectUtils;
import org.elasticsearch.common.collect.Lists;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.server.source.index.SourceLineDoc;
import org.sonar.server.source.index.SourceLineIndex;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/source/db/FileSourceDao.java b/server/sonar-server/src/main/java/org/sonar/server/source/db/FileSourceDao.java
index 29031950c0b..4567c22dc2e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/source/db/FileSourceDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/source/db/FileSourceDao.java
@@ -23,7 +23,7 @@ package org.sonar.server.source.db;
import com.google.common.base.Function;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.io.IOUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/CopyRequirementsFromCharacteristicsToRules.java b/server/sonar-server/src/main/java/org/sonar/server/startup/CopyRequirementsFromCharacteristicsToRules.java
index b43f7d0d9f6..5c7a0452a31 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/startup/CopyRequirementsFromCharacteristicsToRules.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/startup/CopyRequirementsFromCharacteristicsToRules.java
@@ -26,7 +26,7 @@ import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;
import org.apache.commons.lang.builder.EqualsBuilder;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.api.utils.Duration;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/GeneratePluginIndex.java b/server/sonar-server/src/main/java/org/sonar/server/startup/GeneratePluginIndex.java
index a71661900f1..6fd94ad99bb 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/startup/GeneratePluginIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/startup/GeneratePluginIndex.java
@@ -22,7 +22,7 @@ package org.sonar.server.startup;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.CharUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.platform.PluginInfo;
import org.sonar.core.platform.PluginRepository;
import org.sonar.core.plugins.RemotePlugin;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java b/server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java
index d52a4bfc100..c29aa561497 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java
@@ -23,7 +23,7 @@ package org.sonar.server.test;
import com.google.common.collect.Maps;
import java.util.Map;
import javax.annotation.CheckForNull;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.api.web.UserRole;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/text/MacroInterpreter.java b/server/sonar-server/src/main/java/org/sonar/server/text/MacroInterpreter.java
index 94b09239110..9add3072ae9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/text/MacroInterpreter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/text/MacroInterpreter.java
@@ -21,7 +21,7 @@
package org.sonar.server.text;
import com.google.common.collect.ImmutableList;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.platform.Server;
import java.util.List;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/text/RubyTextService.java b/server/sonar-server/src/main/java/org/sonar/server/text/RubyTextService.java
index 9136c36e60e..8f7cfe32198 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/text/RubyTextService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/text/RubyTextService.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.text;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.markdown.Markdown;
/**
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/JRubyI18n.java b/server/sonar-server/src/main/java/org/sonar/server/ui/JRubyI18n.java
index 4564f13515b..63bf1e09399 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/ui/JRubyI18n.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/ui/JRubyI18n.java
@@ -25,7 +25,7 @@ import java.util.Locale;
import java.util.Map;
import javax.annotation.Nullable;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.utils.Duration;
import org.sonar.api.utils.Durations;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/PageDecorations.java b/server/sonar-server/src/main/java/org/sonar/server/ui/PageDecorations.java
index 9960d44f560..56a405667d6 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/ui/PageDecorations.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/ui/PageDecorations.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.ui;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.web.PageDecoration;
import java.util.Collections;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/Views.java b/server/sonar-server/src/main/java/org/sonar/server/ui/Views.java
index fd46b6a94d4..e70b00c8041 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/ui/Views.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/ui/Views.java
@@ -23,7 +23,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.commons.lang.ArrayUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.web.Page;
import org.sonar.api.web.View;
import org.sonar.api.web.Widget;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipFinder.java b/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipFinder.java
index 1693f6d5bcb..d8e7e988bc1 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipFinder.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipFinder.java
@@ -20,7 +20,7 @@
package org.sonar.server.user;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.user.GroupMembership;
import org.sonar.core.user.GroupMembershipDao;
import org.sonar.core.user.GroupMembershipDto;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipService.java b/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipService.java
index 517c8a161f0..c5932c8b5c0 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipService.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/GroupMembershipService.java
@@ -20,7 +20,7 @@
package org.sonar.server.user;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.user.GroupMembershipQuery;
import org.sonar.server.util.RubyUtils;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/NewUserNotifier.java b/server/sonar-server/src/main/java/org/sonar/server/user/NewUserNotifier.java
index 33152f84a3a..4311c4b1a2c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/NewUserNotifier.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/NewUserNotifier.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.user;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.platform.NewUserHandler;
import org.sonar.api.utils.log.Loggers;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/SecurityRealmFactory.java b/server/sonar-server/src/main/java/org/sonar/server/user/SecurityRealmFactory.java
index f1e4f33553c..78c4aa632a6 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/SecurityRealmFactory.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/SecurityRealmFactory.java
@@ -22,7 +22,7 @@ package org.sonar.server.user;
import org.apache.commons.lang.StringUtils;
import org.picocontainer.Startable;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.security.LoginPasswordAuthenticator;
import org.sonar.api.security.SecurityRealm;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java
index b5cfb5f617f..a5de8393e3b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/UserUpdater.java
@@ -27,7 +27,7 @@ import com.google.common.collect.Iterables;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.platform.NewUserHandler;
import org.sonar.api.utils.System2;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/index/UserIndex.java b/server/sonar-server/src/main/java/org/sonar/server/user/index/UserIndex.java
index 0a611cb44bd..2f032ba3c42 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/index/UserIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/index/UserIndex.java
@@ -36,7 +36,7 @@ import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.util.NonNullInputFunction;
import org.sonar.server.es.EsClient;
import org.sonar.server.es.EsUtils;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidation.java b/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidation.java
index 47989089fe4..2abc01947f6 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidation.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidation.java
@@ -20,7 +20,7 @@
package org.sonar.server.util;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidations.java b/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidations.java
index bed5ee0b6f2..823cf3dbad8 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidations.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/util/TypeValidations.java
@@ -22,7 +22,7 @@ package org.sonar.server.util;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.server.exceptions.BadRequestException;
import javax.annotation.Nullable;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/view/index/ViewIndex.java b/server/sonar-server/src/main/java/org/sonar/server/view/index/ViewIndex.java
index 7345ba7b7cd..0282450ea53 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/view/index/ViewIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/view/index/ViewIndex.java
@@ -27,7 +27,7 @@ import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.FilterBuilders;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.server.es.EsClient;
import java.util.Collection;
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ws/WebServiceEngine.java b/server/sonar-server/src/main/java/org/sonar/server/ws/WebServiceEngine.java
index 2b43b9c9f30..0ef2a0a5ce5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/ws/WebServiceEngine.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/ws/WebServiceEngine.java
@@ -20,7 +20,7 @@
package org.sonar.server.ws;
import org.picocontainer.Startable;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.WebService;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ProjectConfigurator.java b/sonar-batch/src/main/java/org/sonar/batch/ProjectConfigurator.java
index c3bb030facc..412af2fce85 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/ProjectConfigurator.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/ProjectConfigurator.java
@@ -23,7 +23,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.maven.project.MavenProject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.config.Settings;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginExploder.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginExploder.java
index b11df16d984..c08b9578786 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginExploder.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginExploder.java
@@ -20,7 +20,7 @@
package org.sonar.batch.bootstrap;
import org.apache.commons.io.FileUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.utils.ZipUtils;
import org.sonar.core.platform.ExplodedPlugin;
import org.sonar.core.platform.PluginExploder;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginLoader.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginLoader.java
index 5831491e991..8ffbc98b410 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginLoader.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginLoader.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.core.platform.PluginExploder;
import org.sonar.core.platform.PluginLoader;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginPredicate.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginPredicate.java
index 49113fabe75..5381037ccf2 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginPredicate.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginPredicate.java
@@ -24,7 +24,7 @@ import com.google.common.base.Predicate;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.log.Logger;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DatabaseCompatibility.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DatabaseCompatibility.java
index 59bf1498365..2ff8d69fb5b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DatabaseCompatibility.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DatabaseCompatibility.java
@@ -21,7 +21,7 @@ package org.sonar.batch.bootstrap;
import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.database.DatabaseProperties;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionMatcher.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionMatcher.java
index 530429fb986..84b93729825 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionMatcher.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionMatcher.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
/**
* @since 3.6
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionUtils.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionUtils.java
index 37519fdfb53..5731dc37b97 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionUtils.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionUtils.java
@@ -20,7 +20,7 @@
package org.sonar.batch.bootstrap;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.batch.RequiresDB;
import org.sonar.api.batch.SupportedEnvironment;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/MetricProvider.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/MetricProvider.java
index fd564925ef7..6dacb436686 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/MetricProvider.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/MetricProvider.java
@@ -20,7 +20,7 @@
package org.sonar.batch.bootstrap;
import com.google.common.collect.Lists;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionProvider;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.measures.CoreMetrics;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java
index 6a20ce07785..e1213cfbe13 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.Plugin;
import org.sonar.core.platform.PluginInfo;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ServerClient.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ServerClient.java
index 4cb02122d92..db2d261b1bb 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ServerClient.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ServerClient.java
@@ -31,7 +31,7 @@ import com.google.gson.JsonParser;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.utils.HttpDownloader;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/EnvironmentInformation.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/EnvironmentInformation.java
index c57d55a7c28..a3347e44041 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/EnvironmentInformation.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/EnvironmentInformation.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.bootstrapper;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
/**
* Describes execution environment.
diff --git a/sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java b/sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java
index 672676edd36..837c7faed12 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java
@@ -22,7 +22,7 @@ package org.sonar.batch.components;
import com.google.common.collect.Maps;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
import org.sonar.api.measures.Metric;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java b/sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java
index f7d9f0bab2b..3fb39b25569 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java
@@ -23,7 +23,7 @@ import com.google.common.base.Strings;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java b/sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java
index 766bbab044e..bb7deaa741e 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java
@@ -21,7 +21,7 @@ package org.sonar.batch.components;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.RequiresDB;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdEngine.java b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdEngine.java
index 1fc4464c39c..3b5cfa3b738 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdEngine.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdEngine.java
@@ -20,7 +20,7 @@
package org.sonar.batch.cpd;
import org.slf4j.Logger;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.sensor.SensorContext;
@BatchSide
diff --git a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdMappings.java b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdMappings.java
index a4eae0c052d..c4a60eefb60 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdMappings.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdMappings.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.cpd;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.CpdMapping;
import javax.annotation.CheckForNull;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/cpd/index/IndexFactory.java b/sonar-batch/src/main/java/org/sonar/batch/cpd/index/IndexFactory.java
index 77809c7f785..9f8fe75c46b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/cpd/index/IndexFactory.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/cpd/index/IndexFactory.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.database.DatabaseSession;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/debt/IssueChangelogDebtCalculator.java b/sonar-batch/src/main/java/org/sonar/batch/debt/IssueChangelogDebtCalculator.java
index dec9b442b55..9d6e0fca14c 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/debt/IssueChangelogDebtCalculator.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/debt/IssueChangelogDebtCalculator.java
@@ -23,7 +23,7 @@ package org.sonar.batch.debt;
import com.google.common.base.Function;
import com.google.common.collect.Ordering;
import org.apache.commons.lang.time.DateUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.FieldDiffs;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/debt/SqaleRatingSettings.java b/sonar-batch/src/main/java/org/sonar/batch/debt/SqaleRatingSettings.java
index 23c5bbdd98e..bb186b177fc 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/debt/SqaleRatingSettings.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/debt/SqaleRatingSettings.java
@@ -20,7 +20,7 @@
package org.sonar.batch.debt;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.measures.Metric;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDate.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDate.java
index c4830c0d6ea..72f70afb679 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDate.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDate.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.deprecated.components;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDays.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDays.java
index 7e54893d41d..45024e77a85 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDays.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByDays.java
@@ -20,7 +20,7 @@
package org.sonar.batch.deprecated.components;
import org.apache.commons.lang.time.DateUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousAnalysis.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousAnalysis.java
index 9f4a964b77f..d454d80b42a 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousAnalysis.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousAnalysis.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.deprecated.components;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousVersion.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousVersion.java
index b0a25385e62..03232c177d3 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousVersion.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByPreviousVersion.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.deprecated.components;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByVersion.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByVersion.java
index c7ae4158cba..8aa66f49abc 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByVersion.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PastSnapshotFinderByVersion.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.deprecated.components;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PeriodsDefinition.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PeriodsDefinition.java
index dd3f8ee0826..cf1c5380b1a 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PeriodsDefinition.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/deprecated/components/PeriodsDefinition.java
@@ -20,7 +20,7 @@
package org.sonar.batch.deprecated.components;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.config.Settings;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationCache.java b/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationCache.java
index 78c07947429..cfc091d00cb 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/duplication/DuplicationCache.java
@@ -21,7 +21,7 @@ package org.sonar.batch.duplication;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.sensor.duplication.internal.DefaultDuplication;
import org.sonar.batch.index.Cache;
import org.sonar.batch.index.Caches;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/Caches.java b/sonar-batch/src/main/java/org/sonar/batch/index/Caches.java
index 74c2d7f6ad9..bc6314d7475 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/index/Caches.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/index/Caches.java
@@ -32,7 +32,7 @@ import com.persistit.logging.Slf4jAdapter;
import org.apache.commons.io.FileUtils;
import org.picocontainer.Startable;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.utils.TempFolder;
import java.io.File;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceCache.java b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceCache.java
index c95d0d72b53..156ff96305f 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceCache.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.Maps;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.resources.Resource;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ScanPersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/ScanPersister.java
index 0dfd07a3061..88b749ecb18 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/index/ScanPersister.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/index/ScanPersister.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.index;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
@BatchSide
public interface ScanPersister {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/IssueCache.java b/sonar-batch/src/main/java/org/sonar/batch/issue/IssueCache.java
index 1023ab35c68..dc5daaaafb4 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/IssueCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/IssueCache.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.issue;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.batch.index.Cache;
import org.sonar.batch.index.Caches;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/IssueFilters.java b/sonar-batch/src/main/java/org/sonar/batch/issue/IssueFilters.java
index 16b23a0f216..0e623246b50 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/IssueFilters.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/IssueFilters.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.issue;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.issue.batch.IssueFilter;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/pattern/AbstractPatternInitializer.java b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/pattern/AbstractPatternInitializer.java
index e57ffe7d411..463d23892e7 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/pattern/AbstractPatternInitializer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/pattern/AbstractPatternInitializer.java
@@ -22,7 +22,7 @@ package org.sonar.batch.issue.ignore.pattern;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.config.Settings;
import java.util.List;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsRegexpScanner.java b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsRegexpScanner.java
index 792c4ba94cc..773f25b440d 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsRegexpScanner.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsRegexpScanner.java
@@ -26,7 +26,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.batch.issue.ignore.pattern.IssueExclusionPatternInitializer;
import org.sonar.batch.issue.ignore.pattern.IssuePattern;
import org.sonar.batch.issue.ignore.pattern.LineRange;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/InitialOpenIssuesStack.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/InitialOpenIssuesStack.java
index 8e73fb0a237..ea7b9fb6e95 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/InitialOpenIssuesStack.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/InitialOpenIssuesStack.java
@@ -20,7 +20,7 @@
package org.sonar.batch.issue.tracking;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.batch.index.Cache;
import org.sonar.batch.index.Caches;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueHandlers.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueHandlers.java
index f941bbcdcf8..c7ef0dd53c4 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueHandlers.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueHandlers.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.issue.tracking;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.IssueHandler;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueTracking.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueTracking.java
index 6d72febbb77..bd339571e51 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueTracking.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/IssueTracking.java
@@ -27,7 +27,7 @@ import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.issue.internal.DefaultIssue;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java
index ec1acefd4e1..dfba07392e6 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.batch.rule.ActiveRule;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java
index 7bfabac4a6e..81de6745192 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java
@@ -20,7 +20,7 @@
package org.sonar.batch.issue.tracking;
import com.google.common.base.Function;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.batch.bootstrap.ProjectReactor;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerLineHashesLoader.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerLineHashesLoader.java
index 8f3be703e35..f3a69222c79 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerLineHashesLoader.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerLineHashesLoader.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.issue.tracking;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
@BatchSide
public interface ServerLineHashesLoader {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/ScanTaskObserver.java b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/ScanTaskObserver.java
index 78b886b51b9..8ec43c93358 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/ScanTaskObserver.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/ScanTaskObserver.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.mediumtest;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.batch.scan.ProjectScanContainer;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java
index 995de90ec2a..274c5959823 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java
@@ -20,7 +20,7 @@
package org.sonar.batch.phases;
import com.google.common.collect.Lists;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.Decorator;
import org.sonar.api.batch.DecoratorContext;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java
index 8483f14b71c..8e114b6ec31 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/PersistersExecutor.java
@@ -21,7 +21,7 @@ package org.sonar.batch.phases;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.batch.bootstrap.DefaultAnalysisMode;
import org.sonar.batch.events.EventBus;
import org.sonar.batch.index.ScanPersister;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
index 48297539fd1..423cf63e49e 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/PostJobsExecutor.java
@@ -23,7 +23,7 @@ import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.PostJob;
import org.sonar.api.batch.SensorContext;
import org.sonar.api.resources.Project;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/ProjectInitializer.java b/sonar-batch/src/main/java/org/sonar/batch/phases/ProjectInitializer.java
index 43fec23ea3f..4373d1f10e9 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/ProjectInitializer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/ProjectInitializer.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.phases;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.resources.Language;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
index a21b111c182..1d73f578635 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/phases/SensorsExecutor.java
@@ -20,7 +20,7 @@
package org.sonar.batch.phases;
import com.google.common.collect.Lists;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.Sensor;
import org.sonar.api.batch.SensorContext;
import org.sonar.api.resources.Project;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java b/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java
index 3d19d4a12ce..4ec4c85cb93 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java
@@ -20,7 +20,7 @@
package org.sonar.batch.platform;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.platform.Server;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/postjob/PostJobOptimizer.java b/sonar-batch/src/main/java/org/sonar/batch/postjob/PostJobOptimizer.java
index 93362baf51d..624c1f1574e 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/postjob/PostJobOptimizer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/postjob/PostJobOptimizer.java
@@ -21,7 +21,7 @@ package org.sonar.batch.postjob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.postjob.internal.DefaultPostJobDescriptor;
import org.sonar.api.config.Settings;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/qualitygate/QualityGate.java b/sonar-batch/src/main/java/org/sonar/batch/qualitygate/QualityGate.java
index 644d5804807..31b2ccb38f3 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/qualitygate/QualityGate.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/qualitygate/QualityGate.java
@@ -21,7 +21,7 @@ package org.sonar.batch.qualitygate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import javax.annotation.Nullable;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/report/EventCache.java b/sonar-batch/src/main/java/org/sonar/batch/report/EventCache.java
index d2936146d74..c7fdc589677 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/report/EventCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/report/EventCache.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.report;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.resources.Resource;
import org.sonar.batch.index.ResourceCache;
import org.sonar.batch.protocol.Constants.EventCategory;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java b/sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java
index be9bcbb49ad..ab2c9c9da2f 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java
@@ -25,7 +25,7 @@ import org.apache.commons.io.FileUtils;
import org.picocontainer.Startable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.config.Settings;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/repository/language/LanguagesRepository.java b/sonar-batch/src/main/java/org/sonar/batch/repository/language/LanguagesRepository.java
index 6c815677651..a420244c24c 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/repository/language/LanguagesRepository.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/repository/language/LanguagesRepository.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.repository.language;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import javax.annotation.CheckForNull;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java b/sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java
index 65d166d2642..f7474cf181d 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java
@@ -20,7 +20,7 @@
package org.sonar.batch.rule;
import com.google.common.collect.ImmutableMap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.batch.protocol.input.ProjectRepositories;
import javax.annotation.CheckForNull;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/rule/QProfileVerifier.java b/sonar-batch/src/main/java/org/sonar/batch/rule/QProfileVerifier.java
index a141502fd6c..4032f665103 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/rule/QProfileVerifier.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/rule/QProfileVerifier.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.MessageException;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java b/sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java
index 7eccc225565..f99242078b0 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import java.util.ArrayList;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java
index 5f05c9b1af3..eb0976b7776 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.SonarIndex;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.resources.File;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java
index be1c52e58c2..ea39a8ea601 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java
@@ -22,7 +22,7 @@ package org.sonar.batch.scan.filesystem;
import org.apache.commons.lang.ArrayUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.PathPattern;
import org.sonar.api.scan.filesystem.FileExclusions;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java
index f80fd47ef73..da2db7cca44 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java
@@ -25,7 +25,7 @@ import org.apache.commons.io.filefilter.HiddenFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.InputFileFilter;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileSystemLogger.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileSystemLogger.java
index 6f1ba9e306c..c68995dfa3f 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileSystemLogger.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileSystemLogger.java
@@ -23,7 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.scan.filesystem.PathResolver;
import java.io.File;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java
index cdee734908e..304e330e7c1 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.fs.internal.FileMetadata;
import org.sonar.api.config.Settings;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputPathCache.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputPathCache.java
index f2ee0374493..2eacbf5aac4 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputPathCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputPathCache.java
@@ -21,7 +21,7 @@ package org.sonar.batch.scan.filesystem;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.InputDir;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.InputPath;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/LanguageDetectionFactory.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/LanguageDetectionFactory.java
index 114dcf8543c..438720f84c1 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/LanguageDetectionFactory.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/LanguageDetectionFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.config.Settings;
import org.sonar.batch.repository.language.LanguagesRepository;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleFileSystemInitializer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleFileSystemInitializer.java
index fd98170dbb5..d9e31778a3d 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleFileSystemInitializer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleFileSystemInitializer.java
@@ -21,7 +21,7 @@ package org.sonar.batch.scan.filesystem;
import com.google.common.collect.Lists;
import org.apache.commons.io.FileUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.scan.filesystem.PathResolver;
import org.sonar.api.utils.TempFolder;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java
index dd4044b1bbc..027a107ad3c 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.fs.InputDir;
import org.sonar.api.batch.fs.InputFile;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/StatusDetectionFactory.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/StatusDetectionFactory.java
index 99acd6313ed..643f915cafc 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/StatusDetectionFactory.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/StatusDetectionFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.batch.protocol.input.ProjectRepositories;
@BatchSide
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/measure/MeasureCache.java b/sonar-batch/src/main/java/org/sonar/batch/scan/measure/MeasureCache.java
index 290f2955d07..92ab2292956 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/measure/MeasureCache.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/measure/MeasureCache.java
@@ -20,7 +20,7 @@
package org.sonar.batch.scan.measure;
import com.google.common.base.Preconditions;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.measure.MetricFinder;
import org.sonar.api.measures.Measure;
import org.sonar.api.measures.RuleMeasure;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReportBuilder.java b/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReportBuilder.java
index f832ad7a03f..4dfcf17d249 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReportBuilder.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReportBuilder.java
@@ -21,7 +21,7 @@ package org.sonar.batch.scan.report;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.resources.Project;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReports.java b/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReports.java
index 50f2a0ddb6e..eaa566bddfd 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReports.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/report/IssuesReports.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.report;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.batch.bootstrap.DefaultAnalysisMode;
@BatchSide
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/report/Reporter.java b/sonar-batch/src/main/java/org/sonar/batch/scan/report/Reporter.java
index 4e1f5ea8199..1476cf219d5 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/report/Reporter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/report/Reporter.java
@@ -19,7 +19,7 @@
*/
package org.sonar.batch.scan.report;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
@BatchSide
public interface Reporter {
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/report/RuleNameProvider.java b/sonar-batch/src/main/java/org/sonar/batch/scan/report/RuleNameProvider.java
index d7d50aafabe..6fa0a7da42e 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/report/RuleNameProvider.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/report/RuleNameProvider.java
@@ -20,7 +20,7 @@
package org.sonar.batch.scan.report;
import org.apache.commons.lang.StringEscapeUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.RuleFinder;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/report/SourceProvider.java b/sonar-batch/src/main/java/org/sonar/batch/scan/report/SourceProvider.java
index bbe6106df06..049f581fa2b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/report/SourceProvider.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/report/SourceProvider.java
@@ -23,7 +23,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.batch.index.BatchResource;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java b/sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java
index 19e3abacd97..397a2c4d2f1 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java
@@ -23,7 +23,7 @@ import com.google.common.base.Joiner;
import org.picocontainer.Startable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.Properties;
import org.sonar.api.Property;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/sensor/SensorOptimizer.java b/sonar-batch/src/main/java/org/sonar/batch/sensor/SensorOptimizer.java
index 74c1e305e25..3200b9f0f15 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/sensor/SensorOptimizer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/sensor/SensorOptimizer.java
@@ -21,7 +21,7 @@ package org.sonar.batch.sensor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.AnalysisMode;
import org.sonar.api.batch.fs.FilePredicate;
import org.sonar.api.batch.fs.FileSystem;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizers.java b/sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizers.java
index 46dbef1bc93..ca29460d8c8 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizers.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/source/CodeColorizers.java
@@ -24,7 +24,7 @@ import org.apache.commons.io.input.BOMInputStream;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.sensor.highlighting.NewHighlighting;
import org.sonar.api.web.CodeColorizerFormat;
import org.sonar.colorizer.CodeColorizer;
diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
index 9deaf93ac81..5118c2426f4 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrap/ExtensionUtilsTest.java
@@ -21,8 +21,8 @@ package org.sonar.batch.bootstrap;
import org.junit.Test;
import org.sonar.api.BatchComponent;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.batch.RequiresDB;
import org.sonar.api.batch.SupportedEnvironment;
diff --git a/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java b/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
index 928a3938046..e31bcf2a59a 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
@@ -19,8 +19,8 @@
*/
package org.sonar.core.component;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.component.Component;
import org.sonar.api.component.Perspective;
diff --git a/sonar-core/src/main/java/org/sonar/core/component/ScanGraph.java b/sonar-core/src/main/java/org/sonar/core/component/ScanGraph.java
index d02a13b01fb..d7c62c58389 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/ScanGraph.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/ScanGraph.java
@@ -23,7 +23,7 @@ import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Graph;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.component.Component;
import org.sonar.api.resources.Resource;
import org.sonar.core.graph.BeanGraph;
diff --git a/sonar-core/src/main/java/org/sonar/core/computation/dbcleaner/period/DefaultPeriodCleaner.java b/sonar-core/src/main/java/org/sonar/core/computation/dbcleaner/period/DefaultPeriodCleaner.java
index f89cfc80d79..73bf08436d0 100644
--- a/sonar-core/src/main/java/org/sonar/core/computation/dbcleaner/period/DefaultPeriodCleaner.java
+++ b/sonar-core/src/main/java/org/sonar/core/computation/dbcleaner/period/DefaultPeriodCleaner.java
@@ -21,8 +21,8 @@
package org.sonar.core.computation.dbcleaner.period;
import com.google.common.annotations.VisibleForTesting;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.log.Logger;
diff --git a/sonar-core/src/main/java/org/sonar/core/config/Logback.java b/sonar-core/src/main/java/org/sonar/core/config/Logback.java
index d3bc1e52e00..ba9824191cb 100644
--- a/sonar-core/src/main/java/org/sonar/core/config/Logback.java
+++ b/sonar-core/src/main/java/org/sonar/core/config/Logback.java
@@ -27,8 +27,8 @@ import ch.qos.logback.core.util.StatusPrinter;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import java.io.File;
import java.io.FileInputStream;
diff --git a/sonar-core/src/main/java/org/sonar/core/dashboard/ActiveDashboardDao.java b/sonar-core/src/main/java/org/sonar/core/dashboard/ActiveDashboardDao.java
index 6e5de5d7539..7ac05f224f6 100644
--- a/sonar-core/src/main/java/org/sonar/core/dashboard/ActiveDashboardDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/dashboard/ActiveDashboardDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.dashboard;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/dashboard/DashboardDao.java b/sonar-core/src/main/java/org/sonar/core/dashboard/DashboardDao.java
index 2726f42967c..ef03d149021 100644
--- a/sonar-core/src/main/java/org/sonar/core/dashboard/DashboardDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/dashboard/DashboardDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.dashboard;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/duplication/DuplicationDao.java b/sonar-core/src/main/java/org/sonar/core/duplication/DuplicationDao.java
index 1556d5dda50..7721b8d95f4 100644
--- a/sonar-core/src/main/java/org/sonar/core/duplication/DuplicationDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/duplication/DuplicationDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.duplication;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java b/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java
index 4267fc7c77b..c72cc88c38c 100644
--- a/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java
+++ b/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java
@@ -23,8 +23,8 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import org.apache.commons.io.IOUtils;
import org.picocontainer.Startable;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.I18n;
import org.sonar.api.utils.SonarException;
import org.sonar.api.utils.System2;
diff --git a/sonar-core/src/main/java/org/sonar/core/i18n/RuleI18nManager.java b/sonar-core/src/main/java/org/sonar/core/i18n/RuleI18nManager.java
index 9a374593155..3be29861044 100644
--- a/sonar-core/src/main/java/org/sonar/core/i18n/RuleI18nManager.java
+++ b/sonar-core/src/main/java/org/sonar/core/i18n/RuleI18nManager.java
@@ -20,8 +20,8 @@
package org.sonar.core.i18n;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.RuleI18n;
import org.sonar.api.rules.Rule;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/IssueFilterSerializer.java b/sonar-core/src/main/java/org/sonar/core/issue/IssueFilterSerializer.java
index 7e9a24aae50..74d65c9a2ec 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/IssueFilterSerializer.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/IssueFilterSerializer.java
@@ -23,7 +23,7 @@ package org.sonar.core.issue;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Iterator;
import java.util.List;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/IssueUpdater.java b/sonar-core/src/main/java/org/sonar/core/issue/IssueUpdater.java
index d9e491540f5..e91e7bbdbb4 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/IssueUpdater.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/IssueUpdater.java
@@ -27,8 +27,8 @@ import com.google.common.collect.Collections2;
import com.google.common.collect.Sets;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.ActionPlan;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.DefaultIssueComment;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanDao.java
index 6708103a780..774956178fe 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanDao.java
@@ -22,8 +22,8 @@ package org.sonar.core.issue.db;
import com.google.common.collect.Lists;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
index 18faf0ef3b3..189f3272242 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
@@ -21,8 +21,8 @@
package org.sonar.core.issue.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.MyBatis;
import java.util.List;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueChangeDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueChangeDao.java
index 77ae58983f9..55eb5c74b03 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueChangeDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueChangeDao.java
@@ -22,8 +22,8 @@ package org.sonar.core.issue.db;
import com.google.common.collect.Lists;
import org.apache.ibatis.session.ResultHandler;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.internal.DefaultIssueComment;
import org.sonar.api.issue.internal.FieldDiffs;
import org.sonar.core.persistence.DaoComponent;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
index 6854b62ddb1..4ab8e2ecf97 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
@@ -22,8 +22,8 @@ package org.sonar.core.issue.db;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterDao.java
index 9a5d551f339..a5791827d15 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterDao.java
@@ -21,8 +21,8 @@
package org.sonar.core.issue.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterFavouriteDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterFavouriteDao.java
index 2b97ce14595..e3a71c76ba3 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterFavouriteDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueFilterFavouriteDao.java
@@ -21,8 +21,8 @@
package org.sonar.core.issue.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.MyBatis;
import java.util.List;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/workflow/FunctionExecutor.java b/sonar-core/src/main/java/org/sonar/core/issue/workflow/FunctionExecutor.java
index ea91619ce32..51d12b7e36d 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/workflow/FunctionExecutor.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/workflow/FunctionExecutor.java
@@ -19,8 +19,8 @@
*/
package org.sonar.core.issue.workflow;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.IssueChangeContext;
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/workflow/IssueWorkflow.java b/sonar-core/src/main/java/org/sonar/core/issue/workflow/IssueWorkflow.java
index 1fcc51fe2bd..5131a7def4d 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/workflow/IssueWorkflow.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/workflow/IssueWorkflow.java
@@ -20,8 +20,8 @@
package org.sonar.core.issue.workflow;
import org.picocontainer.Startable;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.issue.DefaultTransitions;
import org.sonar.api.issue.Issue;
import org.sonar.api.issue.condition.HasResolution;
diff --git a/sonar-core/src/main/java/org/sonar/core/measure/db/MeasureFilterDao.java b/sonar-core/src/main/java/org/sonar/core/measure/db/MeasureFilterDao.java
index d8af4832f7c..ed62ef46af6 100644
--- a/sonar-core/src/main/java/org/sonar/core/measure/db/MeasureFilterDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/measure/db/MeasureFilterDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.measure.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.MyBatis;
/**
diff --git a/sonar-core/src/main/java/org/sonar/core/notification/db/NotificationQueueDao.java b/sonar-core/src/main/java/org/sonar/core/notification/db/NotificationQueueDao.java
index cfb0b0be132..2126b1f8dec 100644
--- a/sonar-core/src/main/java/org/sonar/core/notification/db/NotificationQueueDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/notification/db/NotificationQueueDao.java
@@ -21,8 +21,8 @@
package org.sonar.core.notification.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java
index a6c83bd1744..0149f80265a 100644
--- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java
@@ -23,7 +23,7 @@ package org.sonar.core.permission;
import com.google.common.annotations.VisibleForTesting;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.security.DefaultGroups;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java
index 5e849618486..ac2d768ef1c 100644
--- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java
+++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java
@@ -22,8 +22,8 @@ package org.sonar.core.permission;
import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.security.DefaultGroups;
import org.sonar.core.persistence.DbSession;
diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java
index d6d5d5c77ba..35fe96d9803 100644
--- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java
@@ -24,8 +24,8 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.security.DefaultGroups;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbSession;
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
index 17fa55201f7..9cf108aa1ae 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
@@ -22,8 +22,8 @@ package org.sonar.core.persistence;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import java.util.Collections;
import java.util.List;
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java b/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
index 7480d60edbe..d9475203622 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
@@ -35,8 +35,8 @@ import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.apache.ibatis.type.JdbcType;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.database.model.MeasureModel;
import org.sonar.core.activity.db.ActivityDto;
import org.sonar.core.activity.db.ActivityMapper;
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/SemaphoreUpdater.java b/sonar-core/src/main/java/org/sonar/core/persistence/SemaphoreUpdater.java
index 8bd7e50166b..e300c965e56 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/SemaphoreUpdater.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/SemaphoreUpdater.java
@@ -22,8 +22,8 @@ package org.sonar.core.persistence;
import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.Semaphores;
import java.util.Map;
diff --git a/sonar-core/src/main/java/org/sonar/core/platform/ComponentContainer.java b/sonar-core/src/main/java/org/sonar/core/platform/ComponentContainer.java
index 50e932f7327..028edcef284 100644
--- a/sonar-core/src/main/java/org/sonar/core/platform/ComponentContainer.java
+++ b/sonar-core/src/main/java/org/sonar/core/platform/ComponentContainer.java
@@ -31,8 +31,8 @@ import org.picocontainer.MutablePicoContainer;
import org.picocontainer.behaviors.OptInCaching;
import org.picocontainer.lifecycle.ReflectionLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.utils.log.Loggers;
import org.sonar.api.utils.log.Profiler;
diff --git a/sonar-core/src/main/java/org/sonar/core/platform/PluginRepository.java b/sonar-core/src/main/java/org/sonar/core/platform/PluginRepository.java
index eec28b6b532..a66251b288d 100644
--- a/sonar-core/src/main/java/org/sonar/core/platform/PluginRepository.java
+++ b/sonar-core/src/main/java/org/sonar/core/platform/PluginRepository.java
@@ -19,9 +19,9 @@
*/
package org.sonar.core.platform;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.Plugin;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Collection;
diff --git a/sonar-core/src/main/java/org/sonar/core/properties/PropertiesDao.java b/sonar-core/src/main/java/org/sonar/core/properties/PropertiesDao.java
index b45253b0aeb..1a50baf6e6c 100644
--- a/sonar-core/src/main/java/org/sonar/core/properties/PropertiesDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/properties/PropertiesDao.java
@@ -25,8 +25,8 @@ import com.google.common.base.Strings;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Scopes;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DaoUtils;
diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDao.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDao.java
index 589d2765255..bb2c0fb594d 100644
--- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDao.java
@@ -21,7 +21,7 @@
package org.sonar.core.qualityprofile.db;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java
index 198ff265d61..feb860b6ffb 100644
--- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDao.java
@@ -23,7 +23,7 @@ package org.sonar.core.qualityprofile.db;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.System2;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.persistence.DaoComponent;
diff --git a/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java b/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java
index f813aa905f8..808e8b2ba67 100644
--- a/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.rule;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.MyBatis;
import java.util.List;
diff --git a/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicDao.java b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicDao.java
index 1141bf3d040..e5492449348 100644
--- a/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicDao.java
@@ -22,8 +22,8 @@ package org.sonar.core.technicaldebt.db;
import com.google.common.collect.Lists;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/template/LoadedTemplateDao.java b/sonar-core/src/main/java/org/sonar/core/template/LoadedTemplateDao.java
index 83ff2f18cb5..64b3a6fdddd 100644
--- a/sonar-core/src/main/java/org/sonar/core/template/LoadedTemplateDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/template/LoadedTemplateDao.java
@@ -20,8 +20,8 @@
package org.sonar.core.template;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
diff --git a/sonar-core/src/main/java/org/sonar/core/timemachine/Periods.java b/sonar-core/src/main/java/org/sonar/core/timemachine/Periods.java
index 6a9df77dffe..cc7bb97cf8b 100644
--- a/sonar-core/src/main/java/org/sonar/core/timemachine/Periods.java
+++ b/sonar-core/src/main/java/org/sonar/core/timemachine/Periods.java
@@ -20,9 +20,9 @@
package org.sonar.core.timemachine;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.RequiresDB;
import org.sonar.api.config.Settings;
import org.sonar.api.database.model.Snapshot;
diff --git a/sonar-core/src/main/java/org/sonar/core/user/AuthorDao.java b/sonar-core/src/main/java/org/sonar/core/user/AuthorDao.java
index 6bc659a0a61..7db1e4de5bb 100644
--- a/sonar-core/src/main/java/org/sonar/core/user/AuthorDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/user/AuthorDao.java
@@ -22,8 +22,8 @@ package org.sonar.core.user;
import com.google.common.base.Function;
import com.google.common.base.Strings;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DaoUtils;
diff --git a/sonar-core/src/main/java/org/sonar/core/user/AuthorizationDao.java b/sonar-core/src/main/java/org/sonar/core/user/AuthorizationDao.java
index 6c43e1280a4..0d9f78317c5 100644
--- a/sonar-core/src/main/java/org/sonar/core/user/AuthorizationDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/user/AuthorizationDao.java
@@ -22,7 +22,7 @@ package org.sonar.core.user;
import com.google.common.base.Function;
import com.google.common.collect.Sets;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DaoUtils;
import org.sonar.core.persistence.DbSession;
diff --git a/sonar-core/src/main/java/org/sonar/core/user/RoleDao.java b/sonar-core/src/main/java/org/sonar/core/user/RoleDao.java
index ba18cd5cd22..194f700dd35 100644
--- a/sonar-core/src/main/java/org/sonar/core/user/RoleDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/user/RoleDao.java
@@ -21,8 +21,8 @@
package org.sonar.core.user;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.security.DefaultGroups;
import org.sonar.core.persistence.DbSession;
diff --git a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java
index 73f1daac623..a72983a49ef 100644
--- a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java
@@ -21,8 +21,8 @@ package org.sonar.core.user;
import com.google.common.collect.Lists;
import org.apache.ibatis.session.SqlSession;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.user.UserQuery;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DaoComponent;
diff --git a/sonar-core/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java b/sonar-core/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java
index 181e9b6e190..7636b136936 100644
--- a/sonar-core/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java
+++ b/sonar-core/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java
@@ -19,8 +19,8 @@
*/
package org.sonar.plugins.dbcleaner.api;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.14
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/BatchComponent.java b/sonar-plugin-api/src/main/java/org/sonar/api/BatchComponent.java
index f6585e9ce4c..fe36606b0a5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/BatchComponent.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/BatchComponent.java
@@ -19,6 +19,8 @@
*/
package org.sonar.api;
+import org.sonar.api.batch.BatchSide;
+
/**
* Marker interface for all the components available in container of batch (code analyzer). Note that
* injection of dependencies by constructor is used :
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/BatchExtension.java b/sonar-plugin-api/src/main/java/org/sonar/api/BatchExtension.java
index e24322a2609..b7fbba5e2de 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/BatchExtension.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/BatchExtension.java
@@ -19,6 +19,8 @@
*/
package org.sonar.api;
+import org.sonar.api.batch.BatchSide;
+
/**
* Marker interface for all the batch extension points, which are aimed to be implemented
* by plugins.
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 2ace0f246d5..d54db93bdb0 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
@@ -19,6 +19,8 @@
*/
package org.sonar.api;
+import org.sonar.api.server.ServerSide;
+
/**
* Same than {@link org.sonar.api.BatchComponent} but for server-side components.
*
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 49fcabf3f3b..caaad21011a 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,6 +19,8 @@
*/
package org.sonar.api;
+import org.sonar.api.server.ServerSide;
+
/**
* Server extension point.
*
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/AnalysisMode.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/AnalysisMode.java
index df652a6a6eb..2fad14d30c3 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/AnalysisMode.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/AnalysisMode.java
@@ -19,8 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
-
/**
* Use this component to find the current running mode.
* @since 5.1
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/BatchSide.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/BatchSide.java
index 323e44d175c..b5ad18e9424 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/BatchSide.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/BatchSide.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.api;
+package org.sonar.api.batch;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/CoverageExtension.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/CoverageExtension.java
index f755e50cb6f..192f8cfccbc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/CoverageExtension.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/CoverageExtension.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/CpdMapping.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/CpdMapping.java
index ab7d930b5b4..d0e2085a78f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/CpdMapping.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/CpdMapping.java
@@ -20,7 +20,6 @@
package org.sonar.api.batch;
import net.sourceforge.pmd.cpd.Tokenizer;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Language;
import org.sonar.api.resources.Resource;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Decorator.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Decorator.java
index 70d018299bb..5eadb694f38 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Decorator.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Decorator.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Resource;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java
index 0758dcd9b23..9c2264c02ce 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Initializer.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Project;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java
index 7279bea5301..6c468813437 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/PostJob.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Project;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ProjectClasspath.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ProjectClasspath.java
index f97e5df5e31..8349748a14c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ProjectClasspath.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ProjectClasspath.java
@@ -21,7 +21,6 @@ package org.sonar.api.batch;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.project.MavenProject;
-import org.sonar.api.BatchSide;
import org.sonar.api.utils.SonarException;
import java.io.File;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceCreationLock.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceCreationLock.java
index 1b485ddd96d..296f6430ed8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceCreationLock.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceCreationLock.java
@@ -19,8 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
-
/**
* This lock is used to ensure that Sonar resources (files, packages, directories) are not created by buggy plugins
* when saving measures/violations on unknown resources.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceFilter.java
index 23ab301d309..e64775db635 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/ResourceFilter.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Resource;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java
index 7bc1dd1197c..b860a9cf9f8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/Sensor.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.resources.Project;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/SupportedEnvironment.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/SupportedEnvironment.java
index 0356a3bb1a3..595baa727dd 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/SupportedEnvironment.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/SupportedEnvironment.java
@@ -25,7 +25,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
- * This annotation allows to specify in which environments {@link org.sonar.api.BatchSide} components would be active.
+ * This annotation allows to specify in which environments {@link BatchSide} components would be active.
* For example: "maven", "ant".
* Usage of this annotation is discouraged and we strictly recommend you to not overuse it.
* Most preferable is to design components to work in all environments.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/TimeMachine.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/TimeMachine.java
index ed61ad1faec..9fbd6fc0b72 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/TimeMachine.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/TimeMachine.java
@@ -19,7 +19,6 @@
*/
package org.sonar.api.batch;
-import org.sonar.api.BatchSide;
import org.sonar.api.measures.Measure;
import java.util.List;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBootstrapper.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBootstrapper.java
index ceed23bf7d1..eb4f3e8370b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBootstrapper.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBootstrapper.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBuilder.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBuilder.java
index 307c6960879..cb47de3881f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBuilder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectBuilder.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.batch.InstantiationStrategy;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectReactor.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectReactor.java
index d062a7efc32..81e2dbe3267 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectReactor.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectReactor.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.bootstrap;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import java.util.ArrayList;
import java.util.List;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/events/EventHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/events/EventHandler.java
index 412593db9ad..60a06b684fc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/events/EventHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/events/EventHandler.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.events;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/FileSystem.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/FileSystem.java
index 0ce72b884fd..69d33447761 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/FileSystem.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/FileSystem.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.fs;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFileFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFileFilter.java
index 7033aacbb75..942f7d8155a 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFileFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFileFilter.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.fs;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/FileMetadata.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/FileMetadata.java
index 5badc62f7bf..b368d95738e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/FileMetadata.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/FileMetadata.java
@@ -24,7 +24,7 @@ import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.ByteOrderMark;
import org.apache.commons.io.input.BOMInputStream;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/MetricFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/MetricFinder.java
index 4bb74ed232d..772649cf449 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/MetricFinder.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/MetricFinder.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.measure;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJob.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJob.java
index 2e37e179404..222be209486 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJob.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/postjob/PostJob.java
@@ -20,7 +20,7 @@
package org.sonar.api.batch.postjob;
import com.google.common.annotations.Beta;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRules.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRules.java
index 45e069cf955..4e0f51eeec6 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRules.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRules.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.rule;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.rule.RuleKey;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/CheckFactory.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/CheckFactory.java
index 924832e2d6a..6e5ce3d4340 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/CheckFactory.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/CheckFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.rule;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
/**
* Creates {@link org.sonar.api.batch.rule.Checks}. This class is available
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
index 47bcec5bc45..3a8bb05e407 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.rule;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.rule.RuleKey;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/BlameCommand.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/BlameCommand.java
index 063e4ac0f37..c23bebb1160 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/BlameCommand.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/BlameCommand.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.scm;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.batch.fs.InputFile;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/ScmProvider.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/ScmProvider.java
index a00a8d54bd7..9c41ad4426c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/ScmProvider.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/scm/ScmProvider.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.scm;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.batch.InstantiationStrategy;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/Sensor.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/Sensor.java
index 35bda609ea9..4e7dfa1dc6b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/Sensor.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/Sensor.java
@@ -20,7 +20,7 @@
package org.sonar.api.batch.sensor;
import com.google.common.annotations.Beta;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorStorage.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorStorage.java
index c653c61abbc..60609262b7a 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorStorage.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/internal/SensorStorage.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.batch.sensor.internal;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage;
import org.sonar.api.batch.sensor.duplication.Duplication;
import org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/charts/Chart.java b/sonar-plugin-api/src/main/java/org/sonar/api/charts/Chart.java
index fedd88138ce..89b02b75e15 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/charts/Chart.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/charts/Chart.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.charts;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.awt.image.BufferedImage;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/component/Perspectives.java b/sonar-plugin-api/src/main/java/org/sonar/api/component/Perspectives.java
index d2f86d7800b..58eff623a4e 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/component/Perspectives.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/component/Perspectives.java
@@ -19,8 +19,8 @@
*/
package org.sonar.api.component;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
/**
* @deprecated since 5.2 unused
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java b/sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java
index d4afa4d5389..35493e8822d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/component/RubyComponentService.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.component;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
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 5e45bcc6185..ccf5379e1ab 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,9 +20,9 @@
package org.sonar.api.config;
import com.google.common.base.Objects;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* If batch extensions use this component, then batch must be executed with administrator rights (see properties sonar.login and sonar.password)
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/GlobalPropertyChangeHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/GlobalPropertyChangeHandler.java
index 5d1be0f877d..b5569ed2117 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/GlobalPropertyChangeHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/GlobalPropertyChangeHandler.java
@@ -20,7 +20,7 @@
package org.sonar.api.config;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 b82b340e4ba..1cda0cc06e3 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
@@ -25,11 +25,11 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
-import org.sonar.api.BatchSide;
+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.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Qualifiers;
import javax.annotation.Nullable;
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 b07a0d400eb..478032ada46 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
@@ -21,11 +21,11 @@ package org.sonar.api.config;
import com.google.common.base.Strings;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+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.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.AnnotationUtils;
import javax.annotation.Nullable;
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 8c20de9b3a5..06856050370 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
@@ -26,8 +26,8 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.DateUtils;
import javax.annotation.Nullable;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
index f6474fd8fa0..4e9f696baa7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.database;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import javax.persistence.EntityManager;
import javax.persistence.Query;
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 03fd8c9913e..9d2ea8a6042 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,8 +19,8 @@
*/
package org.sonar.api.i18n;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 ef9c68009ed..fcfb5369dcc 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,8 +19,8 @@
*/
package org.sonar.api.i18n;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.Rule;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java
index b87f69dc7f0..36c7ce4768c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java
@@ -20,6 +20,7 @@
package org.sonar.api.issue;
import com.google.common.collect.ImmutableList;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.Duration;
@@ -171,7 +172,7 @@ public interface Issue extends Serializable {
* Non-null list of comments, ordered by chronological order.
* <p/>
* IMPORTANT: existing comments are not loaded when this method is called when analyzing project
- * (from {@link org.sonar.api.BatchSide}).
+ * (from {@link BatchSide}).
*/
List<IssueComment> comments();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFilter.java
index 903a5a7e692..a1fda4b1671 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFilter.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.issue;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueHandler.java
index 205b6a02ccb..9995384efe7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueHandler.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.issue;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.user.User;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
index f39046cf2cd..b7005431501 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
@@ -21,6 +21,7 @@ package org.sonar.api.issue;
import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultInputFile;
import org.sonar.api.issue.batch.IssueFilterChain;
@@ -31,7 +32,7 @@ import java.util.Set;
/**
* Issue filter used to ignore issues created on lines commented with the tag "NOSONAR".
* <p/>
- * Plugins, via {@link org.sonar.api.BatchSide}s, must feed this filter by registering the
+ * Plugins, via {@link BatchSide}s, must feed this filter by registering the
* lines that contain "NOSONAR". Note that filters are disabled for the issues reported by
* end-users from UI or web services.
*
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/ProjectIssues.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/ProjectIssues.java
index e0cac630b21..d03375565b8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/ProjectIssues.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/ProjectIssues.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.issue;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
import static org.sonar.api.batch.InstantiationStrategy.PER_BATCH;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/action/Actions.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/action/Actions.java
index 0c239a04733..f4758c9abd8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/action/Actions.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/action/Actions.java
@@ -21,7 +21,7 @@ package org.sonar.api.issue.action;
import com.google.common.annotations.Beta;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.ArrayList;
import java.util.List;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/batch/IssueFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/batch/IssueFilter.java
index bb2eacf3296..24f07290154 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/batch/IssueFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/batch/IssueFilter.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.issue.batch;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.issue.Issue;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/FileLinesContextFactory.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/FileLinesContextFactory.java
index 611784734a2..9a2c61d199d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/FileLinesContextFactory.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/FileLinesContextFactory.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.measures;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.resources.Resource;
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 574c3d87ea0..95035b48bcd 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
@@ -22,8 +22,8 @@ package org.sonar.api.measures;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
import javax.annotation.CheckForNull;
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 bbb309528c7..fc648fc0501 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,8 +19,8 @@
*/
package org.sonar.api.measures;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.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 e8d80b58a25..215dd9ebd43 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,9 +19,9 @@
*/
package org.sonar.api.measures;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
import java.util.List;
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 49521fe55d9..a95cb9fe813 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,7 +20,7 @@
package org.sonar.api.notifications;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* <p>
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcher.java b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcher.java
index e662421d126..1bffbee522a 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcher.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcher.java
@@ -21,7 +21,7 @@ package org.sonar.api.notifications;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* <p>
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcherMetadata.java b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcherMetadata.java
index 57b602ae2fc..37f73510385 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcherMetadata.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationDispatcherMetadata.java
@@ -21,7 +21,7 @@ package org.sonar.api.notifications;
import com.google.common.collect.Maps;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.Map;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationManager.java b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationManager.java
index c56c733b98d..ce67d176fbf 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationManager.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/notifications/NotificationManager.java
@@ -20,8 +20,8 @@
package org.sonar.api.notifications;
import com.google.common.collect.Multimap;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
import javax.annotation.Nullable;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
index 829bc81dd60..df61b4d48bc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
@@ -21,7 +21,7 @@ package org.sonar.api.platform;
import com.google.common.base.Preconditions;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 ef33d6d9b35..d54167e06b1 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
@@ -19,8 +19,8 @@
*/
package org.sonar.api.platform;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
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 b07a1a3cae7..babf0e2ad35 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,7 +19,7 @@
*/
package org.sonar.api.platform;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.io.File;
import java.util.List;
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 8c1c09d0916..5629e460db5 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,7 +20,7 @@
package org.sonar.api.platform;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.2
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 315d5a16cc5..240c5e2e3ff 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,7 +20,7 @@
package org.sonar.api.platform;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.2
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 95d99239711..ab684367dd7 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,7 +19,7 @@
*/
package org.sonar.api.platform;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.5
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 8b45e85f2ad..d3be3977584 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
@@ -20,7 +20,7 @@
package org.sonar.api.profiles;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.RuleAnnotationUtils;
import org.sonar.api.rules.RuleFinder;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileDefinition.java
index 7905aa164ba..f6b6bd93cfa 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileDefinition.java
@@ -20,7 +20,7 @@
package org.sonar.api.profiles;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ValidationMessages;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileExporter.java b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileExporter.java
index 69ede33467b..a811576ef6b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileExporter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/profiles/ProfileExporter.java
@@ -22,9 +22,9 @@ package org.sonar.api.profiles;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.io.Writer;
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 8d58254f965..bf57092a947 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
@@ -22,7 +22,7 @@ package org.sonar.api.profiles;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.ValidationMessages;
import java.io.Reader;
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 b900c25f69e..9f6e5991988 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
@@ -24,7 +24,7 @@ import org.apache.commons.lang.StringUtils;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.ActiveRule;
import org.sonar.api.rules.Rule;
import org.sonar.api.rules.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 ec56276649d..78a4f12807e 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
@@ -21,7 +21,7 @@ package org.sonar.api.profiles;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rules.ActiveRule;
import org.sonar.api.rules.ActiveRuleParam;
import org.sonar.api.utils.SonarException;
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 2634e3564a2..52fbd0f6747 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,9 +19,9 @@
*/
package org.sonar.api.resources;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.batch.InstantiationStrategy;
/**
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 cf9fc43b040..b2e6463fe08 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
@@ -21,8 +21,8 @@ package org.sonar.api.resources;
import com.google.common.collect.Maps;
import org.apache.commons.lang.ArrayUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+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;
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 6d620e722ac..2a603228703 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,8 +26,8 @@ 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.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import java.util.ArrayList;
import java.util.Arrays;
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 b9be315c6fe..b3567947997 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
@@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 328b522e7a9..bfa2a2e0cd5 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
@@ -26,7 +26,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.PropertyType;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.AnnotationUtils;
import org.sonar.api.utils.FieldUtils2;
import org.sonar.api.utils.SonarException;
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 53a7498b039..2eadc4f59f5 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,8 +19,8 @@
*/
package org.sonar.api.rules;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+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;
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 e7725ff73d1..1f9e6e16784 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
@@ -23,7 +23,7 @@ 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.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.List;
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 b7a0a3772c3..8639f2adbec 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
@@ -31,7 +31,7 @@ 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.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.SonarException;
import org.sonar.check.Cardinality;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileExclusions.java b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileExclusions.java
index a9e19d4331e..8aa5cad5bd0 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileExclusions.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileExclusions.java
@@ -21,7 +21,7 @@ package org.sonar.api.scan.filesystem;
import com.google.common.collect.ObjectArrays;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileSystemFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileSystemFilter.java
index 3fedb814ea4..58bd4bc624f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileSystemFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/FileSystemFilter.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.batch.fs.InputFileFilter;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/ModuleFileSystem.java b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/ModuleFileSystem.java
index 152a1c14fb8..8979f73b7c1 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/ModuleFileSystem.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/ModuleFileSystem.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.scan.filesystem;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.fs.FileSystem;
import org.sonar.api.batch.fs.InputFile;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/PathResolver.java b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/PathResolver.java
index d0468c24d97..3adf21d92b5 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/PathResolver.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/PathResolver.java
@@ -21,7 +21,7 @@ package org.sonar.api.scan.filesystem;
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.utils.PathUtils;
import javax.annotation.CheckForNull;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/security/Authenticator.java b/sonar-plugin-api/src/main/java/org/sonar/api/security/Authenticator.java
index 5c2a7dadf8e..993e7a23275 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/security/Authenticator.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/security/Authenticator.java
@@ -21,7 +21,7 @@ package org.sonar.api.security;
import com.google.common.base.Preconditions;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
import javax.servlet.http.HttpServletRequest;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/security/LoginPasswordAuthenticator.java b/sonar-plugin-api/src/main/java/org/sonar/api/security/LoginPasswordAuthenticator.java
index f09256dc5bb..b9e5309b212 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/security/LoginPasswordAuthenticator.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/security/LoginPasswordAuthenticator.java
@@ -20,7 +20,7 @@
package org.sonar.api.security;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 1.12
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/security/ResourcePermissions.java b/sonar-plugin-api/src/main/java/org/sonar/api/security/ResourcePermissions.java
index 54d8c44195e..c6fdc7e7804 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/security/ResourcePermissions.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/security/ResourcePermissions.java
@@ -19,8 +19,8 @@
*/
package org.sonar.api.security;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.resources.Resource;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/security/SecurityRealm.java b/sonar-plugin-api/src/main/java/org/sonar/api/security/SecurityRealm.java
index ba310849d2b..2826f05e81b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/security/SecurityRealm.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/security/SecurityRealm.java
@@ -20,7 +20,7 @@
package org.sonar.api.security;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 2.14
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 c3f4a739cdd..94c78120fb6 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
@@ -19,8 +19,8 @@
*/
package org.sonar.api.security;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.database.model.User;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/ServerSide.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java
index 6beb3b0951b..0bf8ccf3efe 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/ServerSide.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ServerSide.java
@@ -17,15 +17,16 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.api;
+package org.sonar.api.server;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.sonar.api.batch.BatchSide;
/**
- * Same than {@link org.sonar.api.BatchSide} but for server-side components.
+ * Same than {@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 d9a9234976d..ef53c01a95b 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
@@ -20,7 +20,7 @@
package org.sonar.api.server.debt;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import java.util.List;
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 c70a11a0de2..cd884949aeb 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
@@ -30,7 +30,7 @@ import com.google.common.collect.Sets;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
import org.sonar.api.server.debt.DebtRemediationFunction;
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 61d6ada2353..1d7a233d2b8 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,7 +20,7 @@
package org.sonar.api.server.rule;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.i18n.RuleI18n;
/**
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 398d1681c65..0462fff23a2 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
@@ -23,7 +23,7 @@ import org.apache.commons.lang.StringUtils;
import org.codehaus.staxmate.SMInputFactory;
import org.codehaus.staxmate.in.SMHierarchicCursor;
import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.rule.RuleStatus;
import org.sonar.api.rule.Severity;
import org.sonar.check.Cardinality;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/RequestHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/RequestHandler.java
index 7b45a5ea5f3..3ac7b9ee0ae 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/RequestHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/RequestHandler.java
@@ -20,7 +20,7 @@
package org.sonar.api.server.ws;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 4.2
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java
index 22b83f19711..7c8a668c265 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java
@@ -28,7 +28,7 @@ import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
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 1aff5a51796..3c863a01937 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
@@ -19,7 +19,7 @@
*/
package org.sonar.api.task;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.batch.InstantiationStrategy;
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/technicaldebt/batch/TechnicalDebtModel.java b/sonar-plugin-api/src/main/java/org/sonar/api/technicaldebt/batch/TechnicalDebtModel.java
index 56000eca609..39f551dbbd2 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/technicaldebt/batch/TechnicalDebtModel.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/technicaldebt/batch/TechnicalDebtModel.java
@@ -20,7 +20,7 @@
package org.sonar.api.technicaldebt.batch;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.technicaldebt.batch.internal.DefaultCharacteristic;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/user/RubyUserService.java b/sonar-plugin-api/src/main/java/org/sonar/api/user/RubyUserService.java
index 5d9a92d0c3b..c9797b6e494 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/user/RubyUserService.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/user/RubyUserService.java
@@ -19,7 +19,7 @@
*/
package org.sonar.api.user;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
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 1a261424b7f..a73ff532466 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
@@ -19,8 +19,8 @@
*/
package org.sonar.api.user;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.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 5e3ae2a0632..9b2dd159f3d 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
@@ -20,9 +20,9 @@
package org.sonar.api.utils;
-import org.sonar.api.BatchSide;
+import org.sonar.api.batch.BatchSide;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.config.Settings;
import org.sonar.api.i18n.I18n;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
index fc2d9d36c1c..cd77aeb617f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
@@ -19,8 +19,8 @@
*/
package org.sonar.api.utils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import java.io.File;
import java.io.InputStream;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/Semaphores.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/Semaphores.java
index a756709e092..ec47356e75d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/Semaphores.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/Semaphores.java
@@ -19,8 +19,8 @@
*/
package org.sonar.api.utils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 03e8f5122c8..3453dac0156 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
@@ -20,8 +20,8 @@
package org.sonar.api.utils;
import org.apache.commons.lang.SystemUtils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.CheckForNull;
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 8a15c2fcc73..c456a020fc9 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,8 +19,8 @@
*/
package org.sonar.api.utils;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import javax.annotation.Nullable;
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 9f5ceb4e80b..3abfd9306b0 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,8 +25,8 @@ 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.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import java.io.File;
import java.io.IOException;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/internal/TempFolderCleaner.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/internal/TempFolderCleaner.java
index 205cc642ac4..7697cf7d6de 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/internal/TempFolderCleaner.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/internal/TempFolderCleaner.java
@@ -19,8 +19,8 @@
*/
package org.sonar.api.utils.internal;
-import org.sonar.api.BatchSide;
-import org.sonar.api.ServerSide;
+import org.sonar.api.batch.BatchSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.TempFolder;
@BatchSide
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/DashboardTemplate.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/DashboardTemplate.java
index 2060b0d7d9e..3040804cf89 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/DashboardTemplate.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/DashboardTemplate.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* This extension point must be implemented to define a new dashboard.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/FilterTemplate.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/FilterTemplate.java
index ec7e6fc918b..9e962d37ab6 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/FilterTemplate.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/FilterTemplate.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* This extension point must be implemented to define a new filter.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/Footer.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/Footer.java
index 3aa3d3e97fa..937ad496ce8 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/Footer.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/Footer.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 1.10
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/PageDecoration.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/PageDecoration.java
index b34a7913c02..3ca3ead22ea 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/PageDecoration.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/PageDecoration.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* Adds content to HTML pages. A PageDecoration is a Rails template (html.erb file) that executes content_for blocks on predefined locations :
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/ServletFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/ServletFilter.java
index e50462060f8..da0eaf0583c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/ServletFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/ServletFilter.java
@@ -22,7 +22,7 @@ package org.sonar.api.web;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import javax.servlet.Filter;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/View.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/View.java
index fed5625d6b3..7f4e27e3ab9 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/View.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/View.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* @since 1.11
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/web/Webservice.java b/sonar-plugin-api/src/main/java/org/sonar/api/web/Webservice.java
index 28b9d0f027a..407de42dce0 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/web/Webservice.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/web/Webservice.java
@@ -20,7 +20,7 @@
package org.sonar.api.web;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
/**
* Interface to create a web service extension point
diff --git a/sonar-plugin-api/src/main/java/org/sonar/plugins/emailnotifications/api/EmailTemplate.java b/sonar-plugin-api/src/main/java/org/sonar/plugins/emailnotifications/api/EmailTemplate.java
index fda958539be..385dbde00ef 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/plugins/emailnotifications/api/EmailTemplate.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/plugins/emailnotifications/api/EmailTemplate.java
@@ -20,7 +20,7 @@
package org.sonar.plugins.emailnotifications.api;
import org.sonar.api.ExtensionPoint;
-import org.sonar.api.ServerSide;
+import org.sonar.api.server.ServerSide;
import org.sonar.api.notifications.Notification;
/**