summaryrefslogtreecommitdiff
path: root/compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2016-01-22 18:20:01 -0800
committerYigit Boyar <yboyar@google.com>2016-01-26 10:53:37 -0800
commit89e50f43810ee32d8fc8ea359cd8e0ca4e9c8de4 (patch)
tree71fbce4229e6ed13b588fd2ee88c5f5baf651cac /compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java
parent8b8eb28e6a043b6914f8561147ac1a3e7c0bc59d (diff)
downloaddata-binding-89e50f43810ee32d8fc8ea359cd8e0ca4e9c8de4.tar.gz
Fix incremental compilation when dependency layout is removed
This CL fixes a bug where if gradle dependency of a module is removed, we would not delete its layout files properly. Change-Id: Ifa5529768ed959acd8b6a903ad33d8f1e42159f7 Bug: 25755539
Diffstat (limited to 'compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java')
-rw-r--r--compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java b/compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java
index e008c828..08bfde50 100644
--- a/compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java
+++ b/compilationTests/src/test/java/android/databinding/compilationTest/BaseCompilationTest.java
@@ -25,10 +25,13 @@ import org.junit.rules.TestName;
import android.databinding.tool.store.Location;
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.ArrayList;
@@ -258,8 +261,8 @@ public class BaseCompilationTest {
}
builder.directory(testFolder);
Process process = builder.start();
- String output = IOUtils.toString(process.getInputStream());
- String error = IOUtils.toString(process.getErrorStream());
+ String output = collect(process.getInputStream());
+ String error = collect(process.getErrorStream());
int result = process.waitFor();
return new CompilationResult(result, output, error);
}
@@ -269,5 +272,16 @@ public class BaseCompilationTest {
gw.setExecutable(true);
}
-
+ /**
+ * Use this instead of IO utils so that we can easily log the output when necessary
+ */
+ private static String collect(InputStream stream) throws IOException {
+ StringBuilder sb = new StringBuilder();
+ String line;
+ final BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+ while ((line = reader.readLine()) != null) {
+ sb.append(line).append("\n");
+ }
+ return sb.toString();
+ }
}