diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-03-27 19:04:50 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-03-27 19:04:50 +0000 |
commit | 39c974aedec5da47390edb03625bdaa5fa490350 (patch) | |
tree | 6425d9d5527bfe553a7300ba6048d5a368aa6be7 | |
parent | cb5aabeb3c586293bd8a9e65c503af7c2d5d422f (diff) | |
parent | d5cd018892af441deb1107cbbc2cc7e83a66e42d (diff) | |
download | data-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.java | 10 | ||||
-rw-r--r-- | compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java | 11 |
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 |