diff options
author | Googler <noreply@google.com> | 2016-07-01 14:25:13 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2016-07-04 07:17:51 +0000 |
commit | 6382bfd45ee39f97809a185216a183686e1a8f1b (patch) | |
tree | 29c106fd8e7d458e6474e27240bb799a01dfdc66 /src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java | |
parent | f47fd83ad044bb786883662380e4cf1f53c3cc63 (diff) |
Parse layout/menu/drawable, etc XML files for R.id
To be used by a later CL where we use this more
complete picture of all the resource items to
generate our own R.java/class without invoking
AAPT (and split out AAPT to a separate action
that is off the java builder critical path).
Technically aapt creates R.id.foo for attr
<enum name="foo" ... /> and flag as well, but
I haven't seen code that actually relies on that.
Currently off-by-default (only exercised by tests).
--
MOS_MIGRATED_REVID=126407838
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java b/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java index 32c9a23155..3f74e81d9a 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java @@ -48,7 +48,7 @@ public class AndroidDataMerger { private static final Logger logger = Logger.getLogger(AndroidDataMerger.class.getCanonicalName()); - private final class ParseDependencyDataTask implements Callable<Boolean> { + private static final class ParseDependencyDataTask implements Callable<Boolean> { private final AndroidDataSerializer serializer; @@ -157,6 +157,7 @@ public class AndroidDataMerger { private final SourceChecker deDuplicator; private final ListeningExecutorService executorService; + private boolean parseIds; /** Creates a merger with no path deduplication and a default {@link ExecutorService}. */ public static AndroidDataMerger createWithDefaults() { @@ -186,6 +187,10 @@ public class AndroidDataMerger { this.executorService = executorService; } + void enableIdParsing() { + this.parseIds = true; + } + /** * Merges a list of {@link DependencyAndroidData} with a {@link UnvalidatedAndroidData}. * @@ -299,7 +304,8 @@ public class AndroidDataMerger { try { // Extract the primary resources. - ParsedAndroidData parsedPrimary = ParsedAndroidData.from(primaryData); + ParsedAndroidData parsedPrimary = parseIds ? ParsedAndroidData.parseWithIds(primaryData) + : ParsedAndroidData.from(primaryData); // Create the builders for the final parsed data. final ParsedAndroidData.Builder primaryBuilder = ParsedAndroidData.Builder.newBuilder(); |