@@ -17,29 +17,36 @@ class HtmlReporter(
17
17
override val gradleReleaseChannel : String ,
18
18
) : AbstractReporter(project, revision, gradleReleaseChannel) {
19
19
override fun write (printStream : OutputStream , result : Result ) {
20
+ printStream.println (" <!doctype html>" )
21
+ printStream.println (" <html lang=\" en\" >" )
20
22
writeHeader(printStream)
23
+ writeBody(printStream, result)
24
+ printStream.println (" </html>" )
25
+ }
26
+
27
+ private fun writeHeader (printStream : OutputStream ) {
28
+ printStream.println (header.trimMargin())
29
+ }
21
30
31
+ private fun writeBody (printStream : OutputStream , result : Result ) {
32
+ printStream.println (" <body>" )
22
33
if (result.count == 0 ) {
23
- printStream.println (" <P >No dependencies found.</P >" )
34
+ printStream.println (" <p >No dependencies found.</p >" )
24
35
} else {
25
36
writeUpToDate(printStream, result)
26
37
writeExceedLatestFound(printStream, result)
27
38
writeUpgrades(printStream, result)
28
39
writeUndeclared(printStream, result)
29
40
writeUnresolved(printStream, result)
30
41
}
31
-
32
42
writeGradleUpdates(printStream, result)
33
- }
34
-
35
- private fun writeHeader (printStream : OutputStream ) {
36
- printStream.println (header.trimMargin())
43
+ printStream.println (" </body>" )
37
44
}
38
45
39
46
private fun writeUpToDate (printStream : OutputStream , result : Result ) {
40
47
val versions = result.current.dependencies
41
48
if (versions.isNotEmpty()) {
42
- printStream.println (" <H2 >Current dependencies</H2 >" )
49
+ printStream.println (" <h2 >Current dependencies</h2 >" )
43
50
printStream
44
51
.println (" <p>The following dependencies are using the latest $revision version:<p>" )
45
52
printStream.println (" <table class=\" currentInfo\" >" )
@@ -56,7 +63,7 @@ class HtmlReporter(
56
63
if (versions.isNotEmpty()) {
57
64
// The following dependencies exceed the version found at the "
58
65
// + revision + " revision level:
59
- printStream.println (" <H2 >Exceeded dependencies</H2 >" )
66
+ printStream.println (" <h2 >Exceeded dependencies</h2 >" )
60
67
printStream.println (
61
68
" <p>The following dependencies exceed the version found at the $revision revision level:<p>"
62
69
)
@@ -72,7 +79,7 @@ class HtmlReporter(
72
79
private fun writeUpgrades (printStream : OutputStream , result : Result ) {
73
80
val versions = result.outdated.dependencies
74
81
if (versions.isNotEmpty()) {
75
- printStream.println (" <H2 >Later dependencies</H2 >" )
82
+ printStream.println (" <h2 >Later dependencies</h2 >" )
76
83
printStream.println (" <p>The following dependencies have later $revision versions:<p>" )
77
84
printStream.println (" <table class=\" warningInfo\" >" )
78
85
for (it in getUpgradesRows(result)) {
@@ -86,7 +93,7 @@ class HtmlReporter(
86
93
private fun writeUndeclared (printStream : OutputStream , result : Result ) {
87
94
val versions = result.undeclared.dependencies
88
95
if (versions.isNotEmpty()) {
89
- printStream.println (" <H2 >Undeclared dependencies</H2 >" )
96
+ printStream.println (" <h2 >Undeclared dependencies</h2 >" )
90
97
printStream.println (
91
98
" <p>Failed to compare versions for the following dependencies because they were declared without version:<p>"
92
99
)
@@ -102,7 +109,7 @@ class HtmlReporter(
102
109
private fun writeUnresolved (printStream : OutputStream , result : Result ) {
103
110
val versions = result.unresolved.dependencies
104
111
if (versions.isNotEmpty()) {
105
- printStream.println (" <H2 >Unresolved dependencies</H2 >" )
112
+ printStream.println (" <h2 >Unresolved dependencies</h2 >" )
106
113
printStream
107
114
.println (" <p>Failed to determine the latest version for the following dependencies:<p>" )
108
115
printStream.println (" <table class=\" warningInfo\" >" )
@@ -118,32 +125,29 @@ class HtmlReporter(
118
125
if (! result.gradle.enabled) {
119
126
return
120
127
}
121
-
122
- printStream.println (" <H2>Gradle $gradleReleaseChannel updates</H2>" )
123
-
128
+ printStream.println (" <h2>Gradle $gradleReleaseChannel updates</h2>" )
124
129
printStream.println (" Gradle $gradleReleaseChannel updates:" )
125
130
// Log Gradle update checking failures.
126
131
if (result.gradle.current.isFailure) {
127
132
printStream.println (
128
- " <P >[ERROR] [release channel: ${CURRENT .id} ] " + result.gradle.current.reason + " </P >"
133
+ " <p >[ERROR] [release channel: ${CURRENT .id} ] " + result.gradle.current.reason + " </p >"
129
134
)
130
135
}
131
136
if ((gradleReleaseChannel == RELEASE_CANDIDATE .id || gradleReleaseChannel == NIGHTLY .id) &&
132
137
result.gradle.releaseCandidate.isFailure
133
138
) {
134
139
printStream.println (
135
- " <P>[ERROR] [release channel: ${RELEASE_CANDIDATE .id} ] " + result
136
- .gradle.releaseCandidate.reason + " </P>"
140
+ " <p>[ERROR] [release channel: ${RELEASE_CANDIDATE .id} ] " + result.gradle.releaseCandidate.reason + " </p>"
137
141
)
138
142
}
139
143
if (gradleReleaseChannel == NIGHTLY .id && result.gradle.nightly.isFailure) {
140
144
printStream.println (
141
- " <P >[ERROR] [release channel: ${NIGHTLY .id} ] " + result.gradle.nightly.reason + " </P >"
145
+ " <p >[ERROR] [release channel: ${NIGHTLY .id} ] " + result.gradle.nightly.reason + " </p >"
142
146
)
143
147
}
144
148
145
149
// print Gradle updates in breadcrumb format
146
- printStream.print (" <P >Gradle: [" + getGradleVersionUrl(result.gradle.running.version))
150
+ printStream.print (" <p >Gradle: [" + getGradleVersionUrl(result.gradle.running.version))
147
151
var updatePrinted = false
148
152
if (result.gradle.current.isUpdateAvailable && result.gradle.current > result.gradle.running) {
149
153
updatePrinted = true
@@ -168,7 +172,7 @@ class HtmlReporter(
168
172
if (! updatePrinted) {
169
173
printStream.print (" : UP-TO-DATE" )
170
174
}
171
- printStream.println (" ]<P >" )
175
+ printStream.println (" ]</p >" )
172
176
printStream.println (getGradleUrl())
173
177
}
174
178
@@ -216,13 +220,13 @@ class HtmlReporter(
216
220
217
221
companion object {
218
222
private const val header = """
219
- <!DOCTYPE html >
220
- <HEAD><TITLE> Project Dependency Updates Report</TITLE></HEAD >
221
- <style type=\"text/css\" >
223
+ <head >
224
+ <title> Project Dependency Updates Report</title >
225
+ <style>
222
226
.body {
223
- font:100% verdana, arial, sans-serif;
224
- background-color:#fff
225
- }
227
+ font:100% verdana, arial, sans-serif;
228
+ background-color:#fff
229
+ }
226
230
.currentInfo {
227
231
border-collapse: collapse;
228
232
}
@@ -241,11 +245,10 @@ class HtmlReporter(
241
245
border-collapse: collapse;
242
246
}
243
247
.currentInfo tr:nth-child(odd) {
244
- background-color: #EFFFD2;
248
+ background-color: #EFFFD2;
245
249
padding: 12px 15px;
246
250
border-collapse: collapse;
247
251
}
248
-
249
252
.warningInfo {
250
253
border-collapse: collapse;
251
254
}
@@ -264,27 +267,25 @@ class HtmlReporter(
264
267
border-collapse: collapse;
265
268
}
266
269
.warningInfo tr:nth-child(odd) {
267
- background-color: #FFFFCC;
270
+ background-color: #FFFFCC;
268
271
padding: 12px 15px;
269
272
border-collapse: collapse;
270
273
}
271
-
272
-
273
274
</style>
274
- <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js\"></script>
275
-
276
- <script type="text/javascript">
277
- \$(document).ready(function(){
275
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
276
+ <script>
277
+ $(document).ready(function(){
278
278
/* set current to collapsed initially */
279
- \ $('#currentId').nextUntil('tr.header').slideToggle(100, function(){});
279
+ $('#currentId').nextUntil('tr.header').slideToggle(100, function(){});
280
280
/* click callback to toggle tables */
281
- \ $('tr.header').click(function(){
282
- \ $(this).find('span').text(function(_, value){return value=='(Click to collapse)'?'(Click to expand)':'(Click to collapse)'});
283
- \ $(this).nextUntil('tr.header').slideToggle(100, function(){
281
+ $('tr.header').click(function(){
282
+ $(this).find('span').text(function(_, value){return value=='(Click to collapse)'?'(Click to expand)':'(Click to collapse)'});
283
+ $(this).nextUntil('tr.header').slideToggle(100, function(){
284
284
});
285
285
});
286
- });
286
+ });
287
287
</script>
288
+ </head>
288
289
"""
289
290
290
291
private fun getCurrentRows (result : Result ): List <String > {
@@ -389,7 +390,7 @@ class HtmlReporter(
389
390
}
390
391
391
392
private fun getGradleUrl (): String {
392
- return " <P >For information about Gradle releases click <a target=\" _blank\" href=\" https://gradle.org/releases/\" >here</a>."
393
+ return " <p >For information about Gradle releases click <a target=\" _blank\" href=\" https://gradle.org/releases/\" >here</a>.</p> "
393
394
}
394
395
395
396
private fun getGradleVersionUrl (version : String? ): String {
0 commit comments