1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
/*
* SonarCSS
* Copyright (C) 2018-2020 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program 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.
*
* This program 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.css.plugin;
import org.sonar.api.Plugin;
import org.sonar.api.config.PropertyDefinition;
import org.sonar.api.resources.Qualifiers;
import org.sonar.css.plugin.server.bundle.CssAnalyzerBundle;
import org.sonar.css.plugin.metrics.MetricSensor;
import org.sonar.css.plugin.server.CssAnalyzerBridgeServer;
public class CssPlugin implements Plugin {
static final String FILE_SUFFIXES_KEY = "sonar.css.file.suffixes";
public static final String FILE_SUFFIXES_DEFVALUE = ".css,.less,.scss";
public static final String STYLELINT_REPORT_PATHS = "sonar.css.stylelint.reportPaths";
public static final String STYLELINT_REPORT_PATHS_DEFAULT_VALUE = "";
public static final String FORMER_NODE_EXECUTABLE = "sonar.css.node";
private static final String CSS_CATEGORY = "CSS";
private static final String LINTER_SUBCATEGORY = "Popular Rule Engines";
private static final String GENERAL_SUBCATEGORY = "General";
@Override
public void define(Context context) {
context.addExtensions(
MetricSensor.class,
CssLanguage.class,
SonarWayProfile.class,
CssRulesDefinition.class,
CssAnalyzerBundle.class,
CssAnalyzerBridgeServer.class,
CssRuleSensor.class,
StylelintReportSensor.class,
MinifiedFilesFilter.class,
PropertyDefinition.builder(FILE_SUFFIXES_KEY)
.defaultValue(FILE_SUFFIXES_DEFVALUE)
.name("File Suffixes")
.description("List of suffixes for files to analyze.")
.subCategory(GENERAL_SUBCATEGORY)
.category(CSS_CATEGORY)
.onQualifiers(Qualifiers.PROJECT)
.multiValues(true)
.build()
);
context.addExtension(
PropertyDefinition.builder(STYLELINT_REPORT_PATHS)
.defaultValue(STYLELINT_REPORT_PATHS_DEFAULT_VALUE)
.name("Stylelint Report Files")
.description("Paths (absolute or relative) to the JSON files with stylelint issues.")
.onQualifiers(Qualifiers.PROJECT)
.subCategory(LINTER_SUBCATEGORY)
.category(CSS_CATEGORY)
.multiValues(true)
.build());
}
}
|