summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-03-27 19:04:50 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-03-27 19:04:50 +0000
commit39c974aedec5da47390edb03625bdaa5fa490350 (patch)
tree6425d9d5527bfe553a7300ba6048d5a368aa6be7
parentcb5aabeb3c586293bd8a9e65c503af7c2d5d422f (diff)
parentd5cd018892af441deb1107cbbc2cc7e83a66e42d (diff)
downloaddata-binding-39c974aedec5da47390edb03625bdaa5fa490350.tar.gz
Snap for 6334018 from d5cd018892af441deb1107cbbc2cc7e83a66e42d to studio-4.1-release
Change-Id: I9196716aca4982f4867884ee3c79fc3c47fdd094
-rw-r--r--compilerCommon/src/main/java/android/databinding/tool/DataBindingBuilder.java10
-rw-r--r--compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java11
2 files changed, 16 insertions, 5 deletions
diff --git a/compilerCommon/src/main/java/android/databinding/tool/DataBindingBuilder.java b/compilerCommon/src/main/java/android/databinding/tool/DataBindingBuilder.java
index d6ede1ce..d29da976 100644
--- a/compilerCommon/src/main/java/android/databinding/tool/DataBindingBuilder.java
+++ b/compilerCommon/src/main/java/android/databinding/tool/DataBindingBuilder.java
@@ -91,11 +91,11 @@ public class DataBindingBuilder {
ScopedException.encodeOutput(machineReadableOutput);
}
- public boolean getPrintMachineReadableOutput() {
+ public static boolean getPrintMachineReadableOutput() {
return ScopedException.isEncodeOutput();
}
- public void setDebugLogEnabled(boolean enableDebugLogs) {
+ public static void setDebugLogEnabled(boolean enableDebugLogs) {
L.setDebugLog(enableDebugLogs);
}
@@ -131,8 +131,8 @@ public class DataBindingBuilder {
* @param dataBindingCompilerBuildFolder the build folder for the data binding compiler
* @return The list of classes to exclude. They are already in JNI format.
*/
- public List<String> getJarExcludeList(LayoutXmlProcessor layoutXmlProcessor,
- File generatedClassListFile, File dataBindingCompilerBuildFolder) {
+ public static List<String> getJarExcludeList(LayoutXmlProcessor layoutXmlProcessor,
+ File generatedClassListFile, File dataBindingCompilerBuildFolder) {
List<String> excludes = new ArrayList<>();
String infoClassAsFile = layoutXmlProcessor.getInfoClassFullName().replace('.', '/');
excludes.add(infoClassAsFile + ".class");
@@ -167,7 +167,7 @@ public class DataBindingBuilder {
return packages;
}
- private List<String> readGeneratedClasses(File generatedClassListFile) {
+ private static List<String> readGeneratedClasses(File generatedClassListFile) {
Preconditions.checkNotNull(generatedClassListFile,
"Data binding exclude generated task is not configured properly");
Preconditions.check(generatedClassListFile.exists(),
diff --git a/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java b/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
index fa599a2b..9757f46b 100644
--- a/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
+++ b/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
@@ -38,6 +38,17 @@ public class Scope {
private static ThreadLocal<ScopeEntry> sScopeItems = new ThreadLocal<ScopeEntry>();
static List<ScopedException> sDeferredExceptions = new ArrayList<ScopedException>();
+ /**
+ * Clears the data in static fields of this class (assigning them with new objects).
+ *
+ * This is typically needed at the end of a build, as we don't want to persist the state of this
+ * class to the next build (see bug 151860061).
+ */
+ public static void clear() {
+ sScopeItems = new ThreadLocal<>();
+ sDeferredExceptions = new ArrayList<>();
+ }
+
public static void enter(final Location location) {
enter(new LocationScopeProvider() {
@Override