diff options
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.java | 9 |
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, |