Expose getUnsignedApk and getKeystore from ApkInfo and
apkSigningMethodV1/apkSigningMethodV2 from AndroidConfiguration to Starlark.
PiperOrigin-RevId: 233483614
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 67481a6..cf6b244 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -1229,6 +1229,16 @@
}
@Override
+ public boolean apkSigningMethodV1() {
+ return apkSigningMethod.signV1();
+ }
+
+ @Override
+ public boolean apkSigningMethodV2() {
+ return apkSigningMethod.signV2();
+ }
+
+ @Override
public boolean useSingleJarApkBuilder() {
return useSingleJarApkBuilder;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApkInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApkInfo.java
index 18b07e8..41bb240 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ApkInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApkInfo.java
@@ -61,6 +61,7 @@
}
/** Returns the unsigned APK file built in the transitive closure. */
+ @Override
public Artifact getUnsignedApk() {
return unsignedApk;
}
@@ -77,6 +78,7 @@
}
/* The keystore that was used to sign the apk returned from {@see getApk() */
+ @Override
public Artifact getKeystore() {
return keystore;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
index 3454396..0c3e591 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidConfigurationApi.java
@@ -64,6 +64,12 @@
documented = false)
boolean incrementalDexingAfterProguardByDefault();
+ @SkylarkCallable(name = "apk_signing_method_v1", structField = true, doc = "", documented = false)
+ boolean apkSigningMethodV1();
+
+ @SkylarkCallable(name = "apk_signing_method_v2", structField = true, doc = "", documented = false)
+ boolean apkSigningMethodV2();;
+
@SkylarkCallable(
name = "assume_min_sdk_version",
structField = true,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java
index 47e4a03..91305f5 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java
@@ -48,6 +48,22 @@
structField = true)
FileT getApk();
+ /** Returns the unsigned APK file built in the transitive closure. */
+ @SkylarkCallable(
+ name = "unsigned_apk",
+ doc = "Returns a unsigned APK built from the target.",
+ documented = false,
+ structField = true)
+ FileT getUnsignedApk();
+
+ /** Returns keystore that was used to sign the APK */
+ @SkylarkCallable(
+ name = "keystore",
+ doc = "Returns a keystore that was used to sign the APK.",
+ documented = false,
+ structField = true)
+ FileT getKeystore();
+
/** Provider for {@link ApkInfoApi}. */
@SkylarkModule(
name = "ApkInfoApiProvider",
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
index 3acecce..8a8b4cf 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java
@@ -32,6 +32,16 @@
}
@Override
+ public FileApi getUnsignedApk() {
+ return null;
+ }
+
+ @Override
+ public FileApi getKeystore() {
+ return null;
+ }
+
+ @Override
public String toProto(Location loc) throws EvalException {
return "";
}