aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java
index da7b3b40a6..fc957f38f5 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.packages.AggregatingAttributeMapper;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory;
+import com.google.devtools.build.lib.rules.android.AndroidConfiguration.ApkSigningMethod;
import com.google.devtools.build.lib.rules.java.BaseJavaCompilationHelper;
import com.google.devtools.build.lib.rules.java.JavaConfiguration;
import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
@@ -67,6 +68,13 @@ public class AndroidSdk implements RuleConfiguredTargetFactory {
FilesToRunProvider aapt = ruleContext.getExecutablePrerequisite("aapt", Mode.HOST);
FilesToRunProvider apkBuilder = ruleContext.getExecutablePrerequisite(
"apkbuilder", Mode.HOST);
+ FilesToRunProvider apkSigner = ruleContext.getExecutablePrerequisite("apksigner", Mode.HOST);
+ ApkSigningMethod apkSigningMethod =
+ ruleContext.getFragment(AndroidConfiguration.class).getApkSigningMethod();
+ if (apkSigner == null && !apkSigningMethod.signLegacy()) {
+ ruleContext.throwWithRuleError(
+ "android_sdk attribute apksigner must be set to use signing method " + apkSigningMethod);
+ }
FilesToRunProvider adb = ruleContext.getExecutablePrerequisite("adb", Mode.HOST);
FilesToRunProvider dx = ruleContext.getExecutablePrerequisite("dx", Mode.HOST);
FilesToRunProvider mainDexListCreator = ruleContext.getExecutablePrerequisite(
@@ -120,6 +128,7 @@ public class AndroidSdk implements RuleConfiguredTargetFactory {
aidl,
aapt,
apkBuilder,
+ apkSigner,
proguard,
zipalign,
jack,