|
4 | 4 | import com.google.gson.Gson;
|
5 | 5 | import com.google.gson.GsonBuilder;
|
6 | 6 | import com.google.gson.stream.JsonReader;
|
| 7 | +import org.sonarlint.cli.Options; |
7 | 8 |
|
8 | 9 | import java.io.FileReader;
|
9 | 10 | import java.nio.charset.Charset;
|
10 | 11 | import java.nio.file.Path;
|
11 | 12 | import java.nio.file.Paths;
|
12 |
| -import java.util.Arrays; |
13 |
| -import java.util.List; |
| 13 | +import java.util.*; |
14 | 14 |
|
15 |
| -public class Config { |
| 15 | +public class Config extends Options { |
16 | 16 | private List<String> includePaths = Arrays.asList("");
|
17 |
| - private EngineConfig config = new EngineConfig(); |
18 |
| - |
19 |
| - private class EngineConfig { |
20 |
| - String charset; |
21 |
| - List<String> testsPatterns; |
22 |
| - String sonarlintDir; |
23 |
| - } |
| 17 | + private Map<String, Object> config = new LinkedHashMap<>(); |
24 | 18 |
|
25 | 19 | public List<String> getIncludePaths() {
|
26 | 20 | return includePaths;
|
27 | 21 | }
|
28 | 22 |
|
29 | 23 | public Charset getCharset() {
|
30 |
| - return createCharset(config.charset); |
| 24 | + return createCharset(charset()); |
| 25 | + } |
| 26 | + |
| 27 | + @Override |
| 28 | + public String charset() { |
| 29 | + return (String) config.get("charset"); |
31 | 30 | }
|
32 | 31 |
|
33 | 32 | public String getTestsPatterns() {
|
34 |
| - return joinPatterns(config.testsPatterns); |
| 33 | + List<String> testsPatterns = (List<String>) config.get("tests_patterns"); |
| 34 | + return joinPatterns(testsPatterns); |
35 | 35 | }
|
36 | 36 |
|
37 | 37 | public Path getSonarlintDir() {
|
38 | 38 | return Paths.get("/tmp/sonarlint");
|
39 | 39 | }
|
40 | 40 |
|
| 41 | + @Override |
| 42 | + public Properties properties() { |
| 43 | + Properties properties = super.properties(); |
| 44 | + for (Map.Entry entry : config.entrySet()) { |
| 45 | + properties.put(entry.getKey(), entry.getValue().toString()); |
| 46 | + } |
| 47 | + return properties; |
| 48 | + } |
| 49 | + |
41 | 50 | String joinPatterns(List<String> patterns) {
|
42 | 51 | if (patterns == null) {
|
43 | 52 | return null;
|
|
0 commit comments