aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-batch/src/main/java')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/ProfileLoader.java38
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginInstaller.java9
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginRepository.java15
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionInstaller.java6
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/GlobalContainer.java13
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/PluginInstaller.java7
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/compute/package-info.java24
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/debt/package-info.java23
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/deprecated/ResourceFilters.java49
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/Data.java28
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotPersistedException.java34
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/StringData.java40
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/mediumtest/FakePluginInstaller.java13
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java2
14 files changed, 24 insertions, 277 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ProfileLoader.java b/sonar-batch/src/main/java/org/sonar/batch/ProfileLoader.java
deleted file mode 100644
index bc00a1c1a31..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/ProfileLoader.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * 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.batch;
-
-import org.sonar.api.config.Settings;
-import org.sonar.api.profiles.RulesProfile;
-
-/**
- * This interface is implemented by the views plugin!!
- *
- * @deprecated in 4.2
- */
-@Deprecated
-public interface ProfileLoader {
-
- /**
- * Loads quality profile for specified project.
- */
- RulesProfile load(Settings settings);
-
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginInstaller.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginInstaller.java
index b6744b5ff4a..8bc7ba788eb 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginInstaller.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginInstaller.java
@@ -19,21 +19,18 @@
*/
package org.sonar.batch.bootstrap;
-import com.google.common.io.Files;
-
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
-
+import com.google.common.io.Files;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.apache.commons.lang.CharUtils;
import org.apache.commons.lang.StringUtils;
-import org.sonar.api.Plugin;
+import org.sonar.api.SonarPlugin;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.api.utils.log.Profiler;
@@ -82,7 +79,7 @@ public class BatchPluginInstaller implements PluginInstaller {
* @see org.sonar.batch.mediumtest.BatchMediumTester
*/
@Override
- public Map<String, Plugin> installLocals() {
+ public Map<String, SonarPlugin> installLocals() {
return Collections.emptyMap();
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginRepository.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginRepository.java
index bf1d7d12519..bba8bea0ab2 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginRepository.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchPluginRepository.java
@@ -21,15 +21,14 @@ package org.sonar.batch.bootstrap;
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
+import java.util.Collection;
+import java.util.Map;
import org.picocontainer.Startable;
-import org.sonar.api.Plugin;
+import org.sonar.api.SonarPlugin;
import org.sonar.core.platform.PluginInfo;
import org.sonar.core.platform.PluginLoader;
import org.sonar.core.platform.PluginRepository;
-import java.util.Collection;
-import java.util.Map;
-
/**
* Orchestrates the installation and loading of plugins
*/
@@ -38,7 +37,7 @@ public class BatchPluginRepository implements PluginRepository, Startable {
private final PluginInstaller installer;
private final PluginLoader loader;
- private Map<String, Plugin> pluginInstancesByKeys;
+ private Map<String, SonarPlugin> pluginInstancesByKeys;
private Map<String, PluginInfo> infosByKeys;
public BatchPluginRepository(PluginInstaller installer, PluginLoader loader) {
@@ -52,7 +51,7 @@ public class BatchPluginRepository implements PluginRepository, Startable {
pluginInstancesByKeys = Maps.newHashMap(loader.load(infosByKeys));
// this part is only used by tests
- for (Map.Entry<String, Plugin> entry : installer.installLocals().entrySet()) {
+ for (Map.Entry<String, SonarPlugin> entry : installer.installLocals().entrySet()) {
String pluginKey = entry.getKey();
infosByKeys.put(pluginKey, new PluginInfo(pluginKey));
pluginInstancesByKeys.put(pluginKey, entry.getValue());
@@ -81,8 +80,8 @@ public class BatchPluginRepository implements PluginRepository, Startable {
}
@Override
- public Plugin getPluginInstance(String key) {
- Plugin instance = pluginInstancesByKeys.get(key);
+ public SonarPlugin getPluginInstance(String key) {
+ SonarPlugin instance = pluginInstancesByKeys.get(key);
Preconditions.checkState(instance != null, String.format("Plugin [%s] does not exist", key));
return instance;
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionInstaller.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionInstaller.java
index aa4f22e4e1e..d0860693004 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionInstaller.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ExtensionInstaller.java
@@ -20,11 +20,9 @@
package org.sonar.batch.bootstrap;
import java.util.List;
-
import javax.annotation.Nullable;
-
import org.sonar.api.ExtensionProvider;
-import org.sonar.api.Plugin;
+import org.sonar.api.SonarPlugin;
import org.sonar.batch.bootstrapper.EnvironmentInformation;
import org.sonar.core.platform.ComponentContainer;
import org.sonar.core.platform.PluginInfo;
@@ -51,7 +49,7 @@ public class ExtensionInstaller {
// plugin extensions
for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) {
- Plugin plugin = pluginRepository.getPluginInstance(pluginInfo.getKey());
+ SonarPlugin plugin = pluginRepository.getPluginInstance(pluginInfo.getKey());
for (Object extension : plugin.getExtensions()) {
doInstall(container, matcher, pluginInfo, extension);
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/GlobalContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/GlobalContainer.java
index b61fae76904..cea1eabf7ba 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/GlobalContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/GlobalContainer.java
@@ -21,10 +21,8 @@ package org.sonar.batch.bootstrap;
import java.util.List;
import java.util.Map;
-
import org.sonar.api.CoreProperties;
-import org.sonar.api.Plugin;
-import org.sonar.api.utils.Durations;
+import org.sonar.api.SonarPlugin;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.UriReader;
import org.sonar.batch.index.CachesManager;
@@ -41,8 +39,6 @@ import org.sonar.batch.repository.ServerIssuesLoader;
import org.sonar.batch.repository.user.UserRepository;
import org.sonar.batch.scan.ProjectScanContainer;
import org.sonar.core.config.Logback;
-import org.sonar.core.i18n.DefaultI18n;
-import org.sonar.core.i18n.RuleI18nManager;
import org.sonar.core.platform.ComponentContainer;
import org.sonar.core.platform.PluginClassloaderFactory;
import org.sonar.core.platform.PluginInfo;
@@ -82,7 +78,7 @@ public class GlobalContainer extends ComponentContainer {
BatchPluginPredicate.class,
ExtensionInstaller.class,
- CachesManager.class,
+ CachesManager.class,
GlobalMode.class,
GlobalSettings.class,
ServerClient.class,
@@ -95,9 +91,6 @@ public class GlobalContainer extends ComponentContainer {
new PersistentCacheProvider(),
new WSLoaderGlobalProvider(),
System2.INSTANCE,
- DefaultI18n.class,
- Durations.class,
- RuleI18nManager.class,
new GlobalRepositoriesProvider(),
UserRepository.class);
addIfMissing(BatchPluginInstaller.class, PluginInstaller.class);
@@ -121,7 +114,7 @@ public class GlobalContainer extends ComponentContainer {
private void installPlugins() {
PluginRepository pluginRepository = getComponentByType(PluginRepository.class);
for (PluginInfo pluginInfo : pluginRepository.getPluginInfos()) {
- Plugin instance = pluginRepository.getPluginInstance(pluginInfo.getKey());
+ SonarPlugin instance = pluginRepository.getPluginInstance(pluginInfo.getKey());
addExtension(pluginInfo, instance);
}
}
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 e1213cfbe13..dac66e617f0 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,12 +19,11 @@
*/
package org.sonar.batch.bootstrap;
+import java.util.Map;
+import org.sonar.api.SonarPlugin;
import org.sonar.api.batch.BatchSide;
-import org.sonar.api.Plugin;
import org.sonar.core.platform.PluginInfo;
-import java.util.Map;
-
@BatchSide
public interface PluginInstaller {
@@ -39,5 +38,5 @@ public interface PluginInstaller {
* Used only by tests.
* @see org.sonar.batch.mediumtest.BatchMediumTester
*/
- Map<String, Plugin> installLocals();
+ Map<String, SonarPlugin> installLocals();
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/compute/package-info.java b/sonar-batch/src/main/java/org/sonar/batch/compute/package-info.java
deleted file mode 100644
index 7fd21f3ba7c..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/compute/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-@ParametersAreNonnullByDefault
-package org.sonar.batch.compute;
-
-import javax.annotation.ParametersAreNonnullByDefault;
-
diff --git a/sonar-batch/src/main/java/org/sonar/batch/debt/package-info.java b/sonar-batch/src/main/java/org/sonar/batch/debt/package-info.java
deleted file mode 100644
index 98d74a000ac..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/debt/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-@ParametersAreNonnullByDefault
-package org.sonar.batch.debt;
-
-import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/deprecated/ResourceFilters.java b/sonar-batch/src/main/java/org/sonar/batch/deprecated/ResourceFilters.java
deleted file mode 100644
index f60713506d7..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/deprecated/ResourceFilters.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * 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.batch.deprecated;
-
-import com.google.common.base.Joiner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.sonar.api.batch.ResourceFilter;
-
-/**
- * @since 1.12
- */
-public class ResourceFilters {
-
- public ResourceFilters(ResourceFilter[] filters) {
- this(LoggerFactory.getLogger(ResourceFilters.class), filters);
- }
-
- public ResourceFilters() {
- // perfect
- }
-
- ResourceFilters(Logger logger, ResourceFilter[] filters) {
- check(logger, filters);
- }
-
- private void check(Logger logger, ResourceFilter[] filters) {
- if (filters.length > 0) {
- logger.warn("ResourceFilters are not supported since version 4.2: " + Joiner.on(", ").join(filters));
- }
- }
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/Data.java b/sonar-batch/src/main/java/org/sonar/batch/index/Data.java
deleted file mode 100644
index aa47c04e799..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/index/Data.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * 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.batch.index;
-
-import java.io.Serializable;
-
-public interface Data extends Serializable {
-
- String writeString();
-
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotPersistedException.java b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotPersistedException.java
deleted file mode 100644
index 1cf29c6fd76..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotPersistedException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * 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.batch.index;
-
-import org.sonar.api.resources.Resource;
-import org.sonar.api.utils.SonarException;
-
-/**
- * @since 2.6
- */
-public final class ResourceNotPersistedException extends SonarException {
-
- public ResourceNotPersistedException(Resource resource) {
- super(resource.toString());
- }
-
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/StringData.java b/sonar-batch/src/main/java/org/sonar/batch/index/StringData.java
deleted file mode 100644
index 6a88b5979b2..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/index/StringData.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * 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.batch.index;
-
-public class StringData implements Data {
- private String data = null;
-
- public StringData() {
- }
-
- public StringData(String s) {
- this.data = s;
- }
-
- public String data() {
- return data;
- }
-
- @Override
- public String writeString() {
- return data;
- }
-}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/FakePluginInstaller.java b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/FakePluginInstaller.java
index cbd837c66c9..f7544d2956b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/FakePluginInstaller.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/FakePluginInstaller.java
@@ -19,25 +19,24 @@
*/
package org.sonar.batch.mediumtest;
-import org.sonar.api.Plugin;
-import org.sonar.batch.bootstrap.PluginInstaller;
-import org.sonar.core.platform.PluginInfo;
-
import java.io.File;
import java.util.HashMap;
import java.util.Map;
+import org.sonar.api.SonarPlugin;
+import org.sonar.batch.bootstrap.PluginInstaller;
+import org.sonar.core.platform.PluginInfo;
public class FakePluginInstaller implements PluginInstaller {
private final Map<String, PluginInfo> infosByKeys = new HashMap<>();
- private final Map<String, Plugin> instancesByKeys = new HashMap<>();
+ private final Map<String, SonarPlugin> instancesByKeys = new HashMap<>();
public FakePluginInstaller add(String pluginKey, File jarFile) {
infosByKeys.put(pluginKey, PluginInfo.create(jarFile));
return this;
}
- public FakePluginInstaller add(String pluginKey, Plugin instance) {
+ public FakePluginInstaller add(String pluginKey, SonarPlugin instance) {
instancesByKeys.put(pluginKey, instance);
return this;
}
@@ -48,7 +47,7 @@ public class FakePluginInstaller implements PluginInstaller {
}
@Override
- public Map<String, Plugin> installLocals() {
+ public Map<String, SonarPlugin> installLocals() {
return instancesByKeys;
}
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java
index 1363134d449..039da7d57e0 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java
@@ -35,7 +35,6 @@ import org.sonar.batch.bootstrap.ExtensionInstaller;
import org.sonar.batch.bootstrap.ExtensionMatcher;
import org.sonar.batch.bootstrap.ExtensionUtils;
import org.sonar.batch.deprecated.DeprecatedSensorContext;
-import org.sonar.batch.deprecated.ResourceFilters;
import org.sonar.batch.deprecated.perspectives.BatchPerspectives;
import org.sonar.batch.events.EventBus;
import org.sonar.batch.index.DefaultIndex;
@@ -147,7 +146,6 @@ public class ModuleScanContainer extends ComponentContainer {
BatchExtensionDictionnary.class,
IssueFilters.class,
CoverageExclusions.class,
- ResourceFilters.class,
// rules
ModuleQProfiles.class,