Skip to content

Commit 29b8ad6

Browse files
committed
Gradle Task error printing
1 parent 4cca647 commit 29b8ad6

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

app/ant/processing/app/gradle/GradleService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import processing.app.ui.Editor;
44

55
public class GradleService {
6-
public GradleService(Editor editor) { }
6+
public GradleService(Mode mode, Editor editor) { }
77

88
public void setEnabled(boolean enabled) {}
99
public boolean getEnabled() { return false; }
@@ -12,4 +12,7 @@ public void run() {}
1212
public void export(){}
1313
public void stop() {}
1414
public void startService() {}
15+
public void setSketch(Sketch sketch) {}
16+
public void setErr(PrintStream err) {}
17+
public void setOut(PrintStream out) {}
1518
}

app/src/processing/app/gradle/GradleJob.kt

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ import org.gradle.tooling.events.problems.internal.DefaultFileLocation
1515
import org.gradle.tooling.events.problems.internal.DefaultSingleProblemEvent
1616
import org.gradle.tooling.events.task.TaskFinishEvent
1717
import org.gradle.tooling.events.task.TaskStartEvent
18+
import org.gradle.tooling.events.task.TaskSuccessResult
1819
import processing.app.Base
1920
import processing.app.Messages
21+
import processing.app.ui.EditorStatus
2022
import java.io.InputStreamReader
2123
import java.io.PipedInputStream
2224
import java.io.PipedOutputStream
@@ -78,6 +80,7 @@ class GradleJob{
7880
private fun BuildLauncher.addStateListener(){
7981
addProgressListener(ProgressListener { event ->
8082
if(event is TaskStartEvent) {
83+
service?.editor?.statusMessage("Running task: ${event.descriptor.name}", EditorStatus.NOTICE)
8184
when(event.descriptor.name) {
8285
":run" -> {
8386
state.value = State.RUNNING
@@ -87,6 +90,10 @@ class GradleJob{
8790

8891
}
8992
if(event is TaskFinishEvent) {
93+
if(event.result is TaskSuccessResult){
94+
service?.editor?.statusMessage("Finished task ${event.descriptor.name}", EditorStatus.NOTICE)
95+
}
96+
9097
when(event.descriptor.name){
9198
":jar"->{
9299
state.value = State.NONE
@@ -98,21 +105,26 @@ class GradleJob{
98105
}
99106
}
100107
if(event is DefaultSingleProblemEvent) {
101-
// TODO: Move to UI instead of printing
108+
/*
109+
We have 6 lines to display the error in the editor.
110+
*/
111+
102112
if(event.definition.severity == Severity.ADVICE) return@ProgressListener
103113
problems.add(event)
104114

105-
val path = (event.locations.firstOrNull() as DefaultFileLocation?)?.path
115+
// TODO: Show the error on the location if it is available
116+
117+
val error = event.definition.id.displayName
118+
service?.editor?.statusError(error)
119+
System.err.println("Problem: $error")
106120

107-
val header = """
108-
${event.definition.id.displayName}:
109-
${event.contextualLabel.contextualLabel}
110-
""".trimIndent()
121+
val message = """
122+
Context: ${event.contextualLabel.contextualLabel}
123+
Solutions: ${event.solutions.joinToString("\n\t") { it.solution }}
124+
"""
125+
.trimIndent()
111126

112-
val details = event.details.details?.replace(path ?: "", "")
113-
val solutions = event.solutions.joinToString("\n") { it.solution }
114-
val content = "$header\n$details\n$solutions"
115-
service?.err?.println(content)
127+
println(message)
116128
}
117129
})
118130
}

0 commit comments

Comments
 (0)