aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2018-04-24 12:20:38 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-24 12:22:01 -0700
commit047688a129b444ba918ae4c31767dce73b17b049 (patch)
treec9df96eb12acac58ffc156d5e0ed69c6c1ebaab0 /src/tools
parentb3e3bb429d2f505357fd302e6130de5228cd3f12 (diff)
Add support for pseudo locales to ResourceLinker.
RELNOTES: None PiperOrigin-RevId: 194126334
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
index c2bfc60abe..a6aa91e848 100644
--- a/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
+++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/ResourceLinker.java
@@ -21,6 +21,7 @@ import com.google.common.base.Joiner;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Streams;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.devtools.build.android.AaptCommandBuilder;
@@ -48,6 +49,9 @@ import java.util.stream.Stream;
/** Performs linking of {@link CompiledResources} using aapt2. */
public class ResourceLinker {
+ private static final ImmutableSet<String> PSEUDO_LOCALES_CONFIGS =
+ ImmutableSet.of("en_XA", "ar_XB");
+ private static final ImmutableSet<String> PSEUDO_LOCALES = ImmutableSet.of("en-rXA", "ar-rXB");
private boolean debug;
/** Represents errors thrown during linking. */
@@ -300,9 +304,9 @@ public class ResourceLinker {
Path mainDexProguard = workingDirectory.resolve("proguard.maindex.cfg");
Path javaSourceDirectory = Files.createDirectories(workingDirectory.resolve("java"));
Path resourceIds = workingDirectory.resolve("ids.txt");
-
+ Path pseudoSplit = workingDirectory.resolve("pseudo-split.apk");
profiler.startTask("fulllink");
- logger.finer(
+ logger.fine(
new AaptCommandBuilder(aapt2)
.forBuildToolsVersion(buildToolsVersion)
.forVariantType(VariantType.DEFAULT)
@@ -339,6 +343,8 @@ public class ResourceLinker {
// Filter by resource configuration type.
.when(!resourceConfigs.isEmpty())
.thenAdd("-c", Joiner.on(',').join(resourceConfigs))
+ .when(resourceConfigs.stream().noneMatch(PSEUDO_LOCALES_CONFIGS::contains))
+ .thenAdd("--split", pseudoSplit + ":" + Joiner.on(",").join(PSEUDO_LOCALES))
.add("--output-text-symbols", rTxt)
.add("--emit-ids", resourceIds)
.add("--java", javaSourceDirectory)