Skip to content

Commit 8546567

Browse files
authoredFeb 19, 2025··
Merge pull request #1145 from code-arnab/issue-70153
[Jenkins-70153] Add support for gradle build-tools warnings (w:)
2 parents 0f818d1 + cdf8b25 commit 8546567

File tree

3 files changed

+51
-2
lines changed

3 files changed

+51
-2
lines changed
 

Diff for: ‎src/main/java/edu/hm/hafner/analysis/parser/JavacParser.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ public class JavacParser extends AbstractMavenLogParser {
2828

2929
private static final String JAVAC_WARNING_PATTERN
3030
= "^(?:\\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.
3232
+ "(?:(?:\\[(WARNING|ERROR)\\]|w:|e:)\\s+)" // optional [WARNING] or [ERROR] or w: or e:
33+
+ "(?:"
34+
// --- Matches filename/line ---
3335
+ "(((\\/?[a-zA-Z]|file):)?[^\\[\\(:]*):" // group 2: filename starting path with C:\ or /C:\ or file:/// or /
3436
+ "(" // start group 5
3537
+ "(\\s*[\\[\\(]?)?" // optional ( or [
@@ -39,7 +41,11 @@ public class JavacParser extends AbstractMavenLogParser {
3941
+ "[\\]\\)]?\\s*:?\\s?" // optional ) or ] or whitespace or :
4042
+ ")" // end group 5
4143
+ "(?:\\[(\\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+
+ ")$";
4349

4450
private static final String SEVERITY_ERROR = "ERROR";
4551
private static final String SEVERITY_ERROR_SHORT = "e:";

Diff for: ‎src/test/java/edu/hm/hafner/analysis/parser/JavacParserTest.java

+38
Original file line numberDiff line numberDiff line change
@@ -385,4 +385,42 @@ void kotlinAndCmakeDirectoryOutput() {
385385
.hasFileName("file:///project/src/main/java/com/app/ui/model/Activity.kt")
386386
.hasMessage("'PackageStats' is deprecated. Deprecated in Java");
387387
}
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+
}
388426
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
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

0 commit comments

Comments
 (0)
Please sign in to comment.