Skip to content

Commit 6dd6f74

Browse files
authored
Merge pull request #1806 from guwirth/fix-sslr-toolkit
fix sslr-toolkit
2 parents d784fad + 6c40872 commit 6dd6f74

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

cxx-squid/src/main/java/org/sonar/cxx/CxxConfiguration.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class CxxConfiguration extends SquidConfiguration {
4848
private final Map<String, Set<String>> uniqueDefines = new HashMap<>();
4949
private List<String> forceIncludeFiles = new ArrayList<>();
5050
private List<String> headerFileSuffixes = new ArrayList<>();
51-
private String baseDir;
51+
private String baseDir = "";
5252
private boolean errorRecoveryEnabled = true;
5353
private List<String> cFilesPatterns = new ArrayList<>();
5454
private String jsonCompilationDatabaseFile;
@@ -95,12 +95,10 @@ public void setCollectMissingIncludes(boolean collectMissingIncludes) {
9595
}
9696

9797
public void setDefines(@Nullable String[] defines) {
98-
if (defines == null) {
99-
return;
98+
if (defines != null && defines.length > 0) {
99+
Set<String> overallDefs = uniqueDefines.get(OVERALLDEFINEKEY);
100+
overallDefs.addAll(Arrays.asList(defines));
100101
}
101-
102-
Set<String> overallDefs = uniqueDefines.get(OVERALLDEFINEKEY);
103-
overallDefs.addAll(Arrays.asList(defines));
104102
}
105103

106104
public void addOverallDefine(String define) {
@@ -135,7 +133,7 @@ public void addOverallIncludeDirectory(String includeDirectory) {
135133
}
136134

137135
public void setIncludeDirectories(@Nullable String[] includeDirectories) {
138-
if (includeDirectories != null) {
136+
if (includeDirectories != null && includeDirectories.length > 0) {
139137
setIncludeDirectories(Arrays.asList(includeDirectories));
140138
}
141139
}
@@ -155,7 +153,7 @@ public void setForceIncludeFiles(List<String> forceIncludeFiles) {
155153
}
156154

157155
public void setForceIncludeFiles(@Nullable String[] forceIncludeFiles) {
158-
if (forceIncludeFiles != null) {
156+
if (forceIncludeFiles != null && forceIncludeFiles.length > 0) {
159157
setForceIncludeFiles(Arrays.asList(forceIncludeFiles));
160158
}
161159
}
@@ -185,7 +183,7 @@ public List<String> getCFilesPatterns() {
185183
}
186184

187185
public void setCFilesPatterns(@Nullable String[] cFilesPatterns) {
188-
if (cFilesPatterns != null) {
186+
if (cFilesPatterns != null && cFilesPatterns.length > 0) {
189187
this.cFilesPatterns = Arrays.asList(cFilesPatterns);
190188
}
191189
}
@@ -195,7 +193,7 @@ public void setHeaderFileSuffixes(List<String> headerFileSuffixes) {
195193
}
196194

197195
public void setHeaderFileSuffixes(@Nullable String[] headerFileSuffixes) {
198-
if (headerFileSuffixes != null) {
196+
if (headerFileSuffixes != null && headerFileSuffixes.length > 0) {
199197
setHeaderFileSuffixes(Arrays.asList(headerFileSuffixes));
200198
}
201199
}

cxx-squid/src/main/java/org/sonar/cxx/preprocessor/SourceCodeProvider.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.io.IOException;
2424
import java.nio.charset.Charset;
2525
import java.nio.file.Files;
26+
import java.nio.file.InvalidPathException;
2627
import java.nio.file.Path;
2728
import java.nio.file.Paths;
2829
import java.util.LinkedList;
@@ -43,22 +44,21 @@ public class SourceCodeProvider {
4344

4445
public void setIncludeRoots(List<Path> includeRoots, String baseDir) {
4546
for (Path includeRoot : includeRoots) {
46-
47-
if (!includeRoot.isAbsolute()) {
48-
includeRoot = Paths.get(baseDir).resolve(includeRoot);
49-
}
50-
5147
try {
48+
if (!includeRoot.isAbsolute()) {
49+
includeRoot = Paths.get(baseDir).resolve(includeRoot);
50+
}
5251
includeRoot = includeRoot.toRealPath();
53-
} catch (java.io.IOException io) {
54-
LOG.error("cannot get canonical form of: '{}'", includeRoot.toString(), io);
55-
}
5652

57-
if (Files.isDirectory(includeRoot)) {
58-
LOG.debug("storing include root: '{}'", includeRoot.toString());
59-
this.includeRoots.add(includeRoot);
60-
} else {
61-
LOG.warn("the include root '{}' doesn't exist", includeRoot.toAbsolutePath().toString());
53+
if (Files.isDirectory(includeRoot)) {
54+
LOG.debug("storing include root: '{}'", includeRoot.toString());
55+
this.includeRoots.add(includeRoot);
56+
} else {
57+
LOG.warn("include root '{}' is not a directory", includeRoot.toString());
58+
}
59+
60+
} catch (IOException | InvalidPathException ex) {
61+
LOG.error("cannot get absolute path of include root '{}'", includeRoot.toString());
6262
}
6363
}
6464
}

0 commit comments

Comments
 (0)