diff options
author | 2017-10-10 17:55:12 +0200 | |
---|---|---|
committer | 2017-10-11 10:56:51 +0200 | |
commit | 00d128c6fd6d4f1f1e976c7d6f3b3c3f717431f0 (patch) | |
tree | c42f1600ab6164b13c6649be51aaa8a710683729 /src/main/java/com/google/devtools/build/lib/rules/android/ApkActionsBuilder.java | |
parent | 0257c29f496719bb8414d012334155de6bbefa11 (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.java | 16 |
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); |