aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ApkInfoApi.java25
1 files changed, 25 insertions, 0 deletions
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 b279e87170..b3cd96e619 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
@@ -13,11 +13,16 @@
// limitations under the License.
package com.google.devtools.build.lib.skylarkbuildapi.android;
+import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
+import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
import com.google.devtools.build.lib.skylarkbuildapi.StructApi;
+import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.SkylarkDict;
/** A provider for targets that produce an apk file. */
@SkylarkModule(
@@ -25,10 +30,30 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
doc = "APKs provided by a rule",
category = SkylarkModuleCategory.PROVIDER)
public interface ApkInfoApi<FileT extends FileApi> extends StructApi {
+
+ /**
+ * Name of this info object.
+ */
+ public static String NAME = "ApkInfo";
+
/** Returns the APK file built in the transitive closure. */
@SkylarkCallable(
name = "signed_apk",
doc = "Returns a signed APK built from the target.",
structField = true)
FileT getApk();
+
+ /** Provider for {@link ApkInfoApi}. */
+ @SkylarkModule(name = "Provider", doc = "", documented = false)
+ public interface ApkInfoApiProvider extends ProviderApi {
+
+ @SkylarkCallable(
+ name = "ApkInfo",
+ // This is left undocumented as it throws a "not-implemented in Skylark" error when invoked.
+ documented = false,
+ extraKeywords = @Param(name = "kwargs"),
+ useLocation = true,
+ selfCall = true)
+ public ApkInfoApi<?> createInfo(SkylarkDict<?, ?> kwargs, Location loc) throws EvalException;
+ }
}