File tree 3 files changed +51
-2
lines changed
main/java/edu/hm/hafner/analysis/parser
java/edu/hm/hafner/analysis/parser
resources/edu/hm/hafner/analysis/parser
3 files changed +51
-2
lines changed Original file line number Diff line number Diff line change @@ -28,8 +28,10 @@ public class JavacParser extends AbstractMavenLogParser {
28
28
29
29
private static final String JAVAC_WARNING_PATTERN
30
30
= "^(?:\\ S+\\ s+)?" // optional preceding arbitrary number of characters that are not a
31
- // whitespace followed by whitespace. This can be used for timestamps.
31
+ // whitespace followed by whitespace. This can be used for timestamps.
32
32
+ "(?:(?:\\ [(WARNING|ERROR)\\ ]|w:|e:)\\ s+)" // optional [WARNING] or [ERROR] or w: or e:
33
+ + "(?:"
34
+ // --- Matches filename/line ---
33
35
+ "(((\\ /?[a-zA-Z]|file):)?[^\\ [\\ (:]*):" // group 2: filename starting path with C:\ or /C:\ or file:/// or /
34
36
+ "(" // start group 5
35
37
+ "(\\ s*[\\ [\\ (]?)?" // optional ( or [
@@ -39,7 +41,11 @@ public class JavacParser extends AbstractMavenLogParser {
39
41
+ "[\\ ]\\ )]?\\ s*:?\\ s?" // optional ) or ] or whitespace or :
40
42
+ ")" // end group 5
41
43
+ "(?:\\ [(\\ w+)\\ ])?" // group 9: optional category
42
- + "\\ s*(.*)$" ; // group 10: message
44
+ + "\\ s*(.*)" // group 10: message
45
+ + "|"
46
+ // --- Matches quoted messages ---
47
+ + "(['\" ])(.*?)\\ 11\\ s*(.*)" // group 11: opening quote; group 12: quoted text; group 13: rest of message
48
+ + ")$" ;
43
49
44
50
private static final String SEVERITY_ERROR = "ERROR" ;
45
51
private static final String SEVERITY_ERROR_SHORT = "e:" ;
Original file line number Diff line number Diff line change @@ -385,4 +385,42 @@ void kotlinAndCmakeDirectoryOutput() {
385
385
.hasFileName ("file:///project/src/main/java/com/app/ui/model/Activity.kt" )
386
386
.hasMessage ("'PackageStats' is deprecated. Deprecated in Java" );
387
387
}
388
+
389
+ /**
390
+ * Parses gradle build-tools warnings.
391
+ *
392
+ * @see <a href="https://issues.jenkins.io/browse/JENKINS-70153">Issue 70153</a>
393
+ */
394
+ @ Test
395
+ void issue70153 () {
396
+ var warnings = parse ("issue70153.txt" );
397
+
398
+ assertThat (warnings ).hasSize (4 );
399
+
400
+ assertThat (warnings .get (0 ))
401
+ .hasSeverity (Severity .WARNING_NORMAL )
402
+ .hasLineStart (0 )
403
+ .hasColumnStart (0 );
404
+
405
+ assertThat (warnings .get (1 ))
406
+ .hasSeverity (Severity .WARNING_NORMAL )
407
+ .hasLineStart (35 )
408
+ .hasColumnStart (35 )
409
+ .hasFileName ("/var/lib/jenkins/workspace/.../CountryFavoriteRepositoryImpl.kt" )
410
+ .hasMessage ("Type mismatch: inferred type is CountryFavoriteDto? but CountryFavoriteDto was expected" );
411
+
412
+ assertThat (warnings .get (2 ))
413
+ .hasSeverity (Severity .WARNING_NORMAL )
414
+ .hasLineStart (86 )
415
+ .hasColumnStart (39 )
416
+ .hasFileName ("/var/lib/jenkins/workspace/.../CountryFavoriteUseCase.kt" )
417
+ .hasMessage ("Name shadowed: favoriteCountry" );
418
+
419
+ assertThat (warnings .get (3 ))
420
+ .hasSeverity (Severity .WARNING_NORMAL )
421
+ .hasLineStart (48 )
422
+ .hasColumnStart (30 )
423
+ .hasFileName ("/var/lib/jenkins/workspace/.../CountryDetailActivity.kt" )
424
+ .hasMessage ("'getParcelableExtra(String!): T?' is deprecated. Deprecated in Java" );
425
+ }
388
426
}
Original file line number Diff line number Diff line change
1
+ > Task :travel:compileDebugKotlin
2
+ w: '-Xjvm-default=compatibility' is deprecated, please use '-Xjvm-default=all|all-compatibility'
3
+ w: /var/lib/jenkins/workspace/.../CountryFavoriteRepositoryImpl.kt: (35, 35): Type mismatch: inferred type is CountryFavoriteDto? but CountryFavoriteDto was expected
4
+ w: /var/lib/jenkins/workspace/.../CountryFavoriteUseCase.kt: (86, 39): Name shadowed: favoriteCountry
5
+ w: /var/lib/jenkins/workspace/.../CountryDetailActivity.kt: (48, 30): 'getParcelableExtra(String!): T?' is deprecated. Deprecated in Java
You can’t perform that action at this time.
0 commit comments