aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-10-10 17:55:12 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-11 10:56:51 +0200
commit00d128c6fd6d4f1f1e976c7d6f3b3c3f717431f0 (patch)
treec42f1600ab6164b13c6649be51aaa8a710683729 /src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java
parent0257c29f496719bb8414d012334155de6bbefa11 (diff)
Make it an error to attempt to expand an attribute that does not exist
PiperOrigin-RevId: 171684595
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java
index 8d9d95c59a..34311624f1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java
@@ -25,9 +25,11 @@ import com.google.devtools.build.lib.rules.android.AndroidConfiguration.ApkSigni
import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaHelper;
import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
+import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
+import java.util.List;
/**
* A class for coordinating APK building, signing and zipaligning.
@@ -337,8 +339,18 @@ public class ApkActionsBuilder {
singleJarCommandLine.addExecPath("--sources", inputZip);
}
- ImmutableList<String> noCompressExtensions =
- ruleContext.getExpander().withDataLocations().tokenized("nocompress_extensions");
+ List<String> noCompressExtensions;
+ if (ruleContext.getRule().isAttrDefined(
+ AndroidRuleClasses.NOCOMPRESS_EXTENSIONS_ATTR, Type.STRING_LIST)) {
+ noCompressExtensions =
+ ruleContext
+ .getExpander()
+ .withDataLocations()
+ .tokenized(AndroidRuleClasses.NOCOMPRESS_EXTENSIONS_ATTR);
+ } else {
+ // This code is also used by android_test, which doesn't have this attribute.
+ noCompressExtensions = ImmutableList.of();
+ }
if (!noCompressExtensions.isEmpty()) {
compressedApkCommandLine.addAll("--nocompress_suffixes", noCompressExtensions);
singleJarCommandLine.addAll("--nocompress_suffixes", noCompressExtensions);