Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit c3eac95

Browse files
nchakarovvmwNikolay Chakarov
andauthored
Fix comments regex. (#13)
Signed-off-by: Nikolay Chakarov <[email protected]> Signed-off-by: Nikolay Chakarov <[email protected]> Co-authored-by: Nikolay Chakarov <[email protected]>
1 parent 69c72c3 commit c3eac95

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

src/main/java/org/sonar/plugins/its/java/checks/ITSJavaFilesSensor.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,21 @@ public void execute(SensorContext context) {
4242
FileSystem fs = context.fileSystem();
4343
Iterable<InputFile> files = fs.inputFiles(fs.predicates().all());
4444
for (InputFile file : files) {
45+
try {
46+
String filename = file.filename();
47+
String fileExt = FilenameUtils.getExtension(filename).toLowerCase();
48+
if (fileExt.toLowerCase().equalsIgnoreCase("jar") || fileExt.toLowerCase().equalsIgnoreCase("zip")) {
49+
logger.info("ITSRule: skipping binary file " + filename);
50+
continue;
51+
}
52+
logger.info("Scanning " + file.filename());
4553

46-
String filename = file.filename();
47-
String fileExt = FilenameUtils.getExtension(filename).toLowerCase();
48-
if (fileExt.toLowerCase().equalsIgnoreCase("jar") || fileExt.toLowerCase().equalsIgnoreCase("zip")) {
49-
logger.info("ITSRule: skipping binary file " + filename);
50-
continue;
54+
ItsFileScanner scanner = new ItsFileScanner();
55+
scanner.scanFile(context, this, file);
56+
} catch (Exception e) {
57+
logger.error("An error occurred with file " + file.filename());
58+
logger.error(e.getMessage(), e.getStackTrace());
5159
}
52-
53-
ItsFileScanner scanner = new ItsFileScanner();
54-
scanner.scanFile(context, this, file);
5560
}
5661
}
5762

src/main/java/org/sonar/plugins/its/service/ItsFileScanner.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@ public void scanFile(SensorContext context, Sensor sensor, InputFile file) {
3535

3636
List<SourceComment> comments = new ArrayList<SourceComment>();
3737

38+
// TODO add support for comments in Python, Ruby, HTML, JSON
39+
// Check file extension and get the regex for the different file
3840
String slComment = "//[^\r\n]*";
3941
String mlComment = "/\\*[\\s\\S]*?\\*/";
40-
String strLit = "\"(?:\\\\.|[^\\\\\"\r\n])*\"";
41-
String chLit = "'(?:\\\\.|[^\\\\'\r\n])+'";
42-
String any = "[\\s\\S]";
42+
// String strLit = "\"(?:\\\\.|[^\\\\\"\r\n])*\"";
43+
// String chLit = "'(?:\\\\.|[^\\\\'\r\n])+'";
44+
// String any = "[\\s\\S]";
4345

4446
Pattern p = Pattern.compile(
45-
String.format("(%s)|(%s)|%s|%s|%s", slComment, mlComment, strLit, chLit, any));
47+
String.format("(%s)|(%s)", slComment, mlComment)); //strLit, chLit, any));
4648

4749
Path path = file.file().toPath();
4850
String entireFileAsString;

0 commit comments

Comments
 (0)