1
1
package ru .kgn .typescript .tsc ;
2
2
3
+ import org .apache .maven .plugin .logging .Log ;
4
+
3
5
import java .io .BufferedReader ;
4
6
import java .io .File ;
5
- import java .io .FileReader ;
6
- //import java.io.IOException;
7
7
import java .io .IOException ;
8
8
import java .io .InputStreamReader ;
9
9
import java .util .ArrayList ;
10
10
import java .util .Arrays ;
11
11
import java .util .List ;
12
- import org .apache .maven .plugin .logging .Log ;
12
+
13
+ //import java.io.IOException;
13
14
14
15
/**
15
16
*
@@ -44,20 +45,17 @@ public void compile(List<String> arguments) throws TypeScriptCompilationExceptio
44
45
ProcessBuilder processBuilder = new ProcessBuilder (commands );
45
46
processBuilder .redirectErrorStream (true );
46
47
processBuilder .directory (workingDirectory );
48
+
49
+ BufferedReader reader = null ;
47
50
try {
48
51
Process process = processBuilder .start ();
49
- BufferedReader reader = new BufferedReader (new InputStreamReader (process .getInputStream ()));
52
+ reader = new BufferedReader (new InputStreamReader (process .getInputStream ()));
53
+ String line ;
54
+ while ((line = reader .readLine ()) != null ) {
55
+ log .info (line );
56
+ }
50
57
process .waitFor ();
51
58
int resultCode = process .exitValue ();
52
- sb = new StringBuilder ();
53
- String line = reader .readLine ();
54
- while (line != null ) {
55
- sb .append (line );
56
- sb .append ('\n' );
57
- line = reader .readLine ();
58
- }
59
- reader .close ();
60
- log .info (sb .toString ());
61
59
62
60
if (resultCode != 0 ) {
63
61
//TODO: Error has been acquired
@@ -73,6 +71,14 @@ public void compile(List<String> arguments) throws TypeScriptCompilationExceptio
73
71
TypeScriptCompilationException exception = new TypeScriptCompilationException (ex );
74
72
exception .setResultCode (-1 );
75
73
throw exception ;
74
+ } finally {
75
+ if (reader != null ) {
76
+ try {
77
+ reader .close ();
78
+ } catch (IOException e ) {
79
+ log .warn ("Failed to close input stream of subprocess" , e );
80
+ }
81
+ }
76
82
}
77
83
}
78
84
}
0 commit comments