From 6645e9134611f3d96a664f017df3fffba3b3f63d Mon Sep 17 00:00:00 2001 From: cparsons Date: Fri, 29 Jun 2018 11:18:05 -0700 Subject: Add basic android classes to fakebuildapi RELNOTES: None. PiperOrigin-RevId: 202677272 --- .../build/lib/skylarkbuildapi/android/BUILD | 2 +- .../java/com/google/devtools/build/skydoc/BUILD | 3 + .../google/devtools/build/skydoc/SkydocMain.java | 14 +++++ .../build/skydoc/fakebuildapi/android/BUILD | 26 +++++++++ .../android/FakeAndroidDeviceBrokerInfo.java | 54 ++++++++++++++++++ .../android/FakeAndroidInstrumentationInfo.java | 66 ++++++++++++++++++++++ .../android/FakeAndroidNativeLibsInfo.java | 63 +++++++++++++++++++++ .../android/FakeAndroidResourcesInfo.java | 61 ++++++++++++++++++++ .../android/FakeAndroidSkylarkCommon.java | 42 ++++++++++++++ .../android/FakeAndroidSplitTransitition.java | 27 +++++++++ .../skydoc/fakebuildapi/android/FakeApkInfo.java | 60 ++++++++++++++++++++ 11 files changed, 417 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSkylarkCommon.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java create mode 100644 src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java (limited to 'src/main/java/com') diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/BUILD b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/BUILD index 6829345752..48c31e6750 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/BUILD +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/BUILD @@ -6,7 +6,7 @@ # those which contain pure-Skylark concepts, such as the interpreter or # annotation interfaces). -package(default_visibility = ["//src/main/java/com/google/devtools/build/lib:__pkg__"]) +package(default_visibility = ["//src:__subpackages__"]) licenses(["notice"]) # Apache 2.0 diff --git a/src/main/java/com/google/devtools/build/skydoc/BUILD b/src/main/java/com/google/devtools/build/skydoc/BUILD index ebe5f89918..7edf2a3109 100644 --- a/src/main/java/com/google/devtools/build/skydoc/BUILD +++ b/src/main/java/com/google/devtools/build/skydoc/BUILD @@ -16,6 +16,7 @@ filegroup( name = "srcs", srcs = glob(["**"]) + [ "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi:srcs", + "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android:srcs", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple:srcs", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config:srcs", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform:srcs", @@ -40,6 +41,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib:events", "//src/main/java/com/google/devtools/build/lib:syntax", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", @@ -47,6 +49,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi", + "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform", diff --git a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java index a6d45847f0..8ce319d1d8 100644 --- a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java +++ b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java @@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.skylarkbuildapi.TopLevelBootstrap; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidBootstrap; import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleBootstrap; import com.google.devtools.build.lib.skylarkbuildapi.config.ConfigBootstrap; import com.google.devtools.build.lib.skylarkbuildapi.platform.PlatformBootstrap; @@ -44,6 +45,12 @@ import com.google.devtools.build.skydoc.fakebuildapi.FakeSkylarkCommandLineApi; import com.google.devtools.build.skydoc.fakebuildapi.FakeSkylarkNativeModuleApi; import com.google.devtools.build.skydoc.fakebuildapi.FakeSkylarkRuleFunctionsApi; import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi.FakeStructProviderApi; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidDeviceBrokerInfo.FakeAndroidDeviceBrokerInfoProvider; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidInstrumentationInfo.FakeAndroidInstrumentationInfoProvider; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidNativeLibsInfo.FakeAndroidNativeLibsInfoProvider; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidResourcesInfo.FakeAndroidResourcesInfoProvider; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidSkylarkCommon; +import com.google.devtools.build.skydoc.fakebuildapi.android.FakeApkInfo.FakeApkInfoProvider; import com.google.devtools.build.skydoc.fakebuildapi.apple.FakeAppleCommon; import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigSkylarkCommon; import com.google.devtools.build.skydoc.fakebuildapi.platform.FakePlatformCommon; @@ -235,6 +242,12 @@ public class SkydocMain { new FakeOutputGroupInfoProvider(), new FakeActionsInfoProvider(), new FakeDefaultInfoProvider()); + AndroidBootstrap androidBootstrap = new AndroidBootstrap(new FakeAndroidSkylarkCommon(), + new FakeApkInfoProvider(), + new FakeAndroidInstrumentationInfoProvider(), + new FakeAndroidDeviceBrokerInfoProvider(), + new FakeAndroidResourcesInfoProvider(), + new FakeAndroidNativeLibsInfoProvider()); AppleBootstrap appleBootstrap = new AppleBootstrap(new FakeAppleCommon()); ConfigBootstrap configBootstrap = new ConfigBootstrap(new FakeConfigSkylarkCommon()); PlatformBootstrap platformBootstrap = new PlatformBootstrap(new FakePlatformCommon()); @@ -246,6 +259,7 @@ public class SkydocMain { Runtime.addConstantsToBuilder(envBuilder); MethodLibrary.addBindingsToBuilder(envBuilder); topLevelBootstrap.addBindingsToBuilder(envBuilder); + androidBootstrap.addBindingsToBuilder(envBuilder); appleBootstrap.addBindingsToBuilder(envBuilder); configBootstrap.addBindingsToBuilder(envBuilder); platformBootstrap.addBindingsToBuilder(envBuilder); diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD new file mode 100644 index 0000000000..da88053956 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD @@ -0,0 +1,26 @@ +package( + default_visibility = ["//src:__subpackages__"], +) + +licenses(["notice"]) # Apache 2.0 + +filegroup( + name = "srcs", + srcs = glob(["**"]), +) + +java_library( + name = "android", + srcs = glob(["*.java"]), + deps = [ + "//src/main/java/com/google/devtools/build/lib:events", + "//src/main/java/com/google/devtools/build/lib:skylarkinterface", + "//src/main/java/com/google/devtools/build/lib:syntax", + "//src/main/java/com/google/devtools/build/lib/collect/nestedset", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android", + "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", + "//third_party:guava", + "//third_party:jsr305", + ], +) diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java new file mode 100644 index 0000000000..ef98b4ae3d --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidDeviceBrokerInfo.java @@ -0,0 +1,54 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDeviceBrokerInfoApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; +import com.google.devtools.build.lib.syntax.EvalException; + +/** + * Fake implementation of {@link AndroidDeviceBrokerInfoApi}. + */ +public class FakeAndroidDeviceBrokerInfo implements AndroidDeviceBrokerInfoApi { + + @Override + public String toProto(Location loc) throws EvalException { + return ""; + } + + @Override + public String toJson(Location loc) throws EvalException { + return ""; + } + + @Override + public void repr(SkylarkPrinter printer) {} + + /** + * Fake implementation of {@link AndroidDeviceBrokerInfoApiProvider}. + */ + public static class FakeAndroidDeviceBrokerInfoProvider + implements AndroidDeviceBrokerInfoApiProvider { + + @Override + public AndroidDeviceBrokerInfoApi createInfo(String type) throws EvalException { + return new FakeAndroidDeviceBrokerInfo(); + } + + @Override + public void repr(SkylarkPrinter printer) {} + } +} diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java new file mode 100644 index 0000000000..3dc9837167 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidInstrumentationInfo.java @@ -0,0 +1,66 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.skylarkbuildapi.FileApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidInstrumentationInfoApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; +import com.google.devtools.build.lib.syntax.EvalException; + +/** + * Fake implementation of {@link AndroidInstrumentationInfoApi}. + */ +public class FakeAndroidInstrumentationInfo implements AndroidInstrumentationInfoApi { + + @Override + public FileApi getTargetApk() { + return null; + } + + @Override + public FileApi getInstrumentationApk() { + return null; + } + + @Override + public String toProto(Location loc) throws EvalException { + return ""; + } + + @Override + public String toJson(Location loc) throws EvalException { + return ""; + } + + @Override + public void repr(SkylarkPrinter printer) {} + + /** + * Fake implementation of {@link AndroidInstrumentationInfoApiProvider}. + */ + public static class FakeAndroidInstrumentationInfoProvider + implements AndroidInstrumentationInfoApiProvider { + + @Override + public AndroidInstrumentationInfoApi createInfo(FileApi targetApk, + FileApi instrumentationApk) throws EvalException { + return new FakeAndroidInstrumentationInfo(); + } + + @Override + public void repr(SkylarkPrinter printer) {} + } +} diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java new file mode 100644 index 0000000000..c93e0a4105 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidNativeLibsInfo.java @@ -0,0 +1,63 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.collect.nestedset.NestedSet; +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.skylarkbuildapi.FileApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidNativeLibsInfoApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; +import com.google.devtools.build.lib.syntax.EvalException; +import com.google.devtools.build.lib.syntax.SkylarkNestedSet; + +/** + * Fake implementation of {@link AndroidNativeLibsInfoApi}. + */ +public class FakeAndroidNativeLibsInfo implements AndroidNativeLibsInfoApi { + + @Override + public NestedSet getNativeLibs() { + return null; + } + + @Override + public String toProto(Location loc) throws EvalException { + return ""; + } + + @Override + public String toJson(Location loc) throws EvalException { + return ""; + } + + @Override + public void repr(SkylarkPrinter printer) {} + + /** + * Fake implementation of {@link AndroidNativeLibsInfoApiProvider}. + */ + public static class FakeAndroidNativeLibsInfoProvider + implements AndroidNativeLibsInfoApiProvider { + + @Override + public AndroidNativeLibsInfoApi createInfo(SkylarkNestedSet nativeLibs) + throws EvalException { + return new FakeAndroidNativeLibsInfo(); + } + + @Override + public void repr(SkylarkPrinter printer) {} + } +} diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java new file mode 100644 index 0000000000..4de9a12369 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidResourcesInfo.java @@ -0,0 +1,61 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.skylarkbuildapi.FileApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidResourcesInfoApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; +import com.google.devtools.build.lib.syntax.EvalException; +import com.google.devtools.build.lib.syntax.SkylarkDict; + +/** + * Fake implementation of {@link AndroidResourcesInfoApi}. + */ +public class FakeAndroidResourcesInfo implements AndroidResourcesInfoApi { + + @Override + public FileApi getRTxt() { + return null; + } + + @Override + public String toProto(Location loc) throws EvalException { + return ""; + } + + @Override + public String toJson(Location loc) throws EvalException { + return ""; + } + + @Override + public void repr(SkylarkPrinter printer) {} + + /** + * Fake implementation of {@link AndroidResourcesInfoApiProvider}. + */ + public static class FakeAndroidResourcesInfoProvider implements AndroidResourcesInfoApiProvider { + + @Override + public AndroidResourcesInfoApi createInfo(SkylarkDict kwargs, Location loc) + throws EvalException { + return new FakeAndroidResourcesInfo(); + } + + @Override + public void repr(SkylarkPrinter printer) {} + } +} diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSkylarkCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSkylarkCommon.java new file mode 100644 index 0000000000..6dcadfdc10 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSkylarkCommon.java @@ -0,0 +1,42 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.skylarkbuildapi.FileApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDeviceBrokerInfoApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSkylarkCommonApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSplitTransititionApi; +import com.google.devtools.build.lib.vfs.PathFragment; + +/** + * Fake implementation of {@link AndroidSkylarkCommonApi}. + */ +public class FakeAndroidSkylarkCommon implements AndroidSkylarkCommonApi { + + @Override + public AndroidDeviceBrokerInfoApi createDeviceBrokerInfo(String deviceBrokerType) { + return new FakeAndroidDeviceBrokerInfo(); + } + + @Override + public PathFragment getSourceDirectoryRelativePathFromResource(FileApi resource) { + return null; + } + + @Override + public AndroidSplitTransititionApi getAndroidSplitTransition() { + return null; + } +} diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java new file mode 100644 index 0000000000..749f9b8c2c --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeAndroidSplitTransitition.java @@ -0,0 +1,27 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSplitTransititionApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; + +/** + * Fake implementation of {@link AndroidSplitTransititionApi}. + */ +public class FakeAndroidSplitTransitition implements AndroidSplitTransititionApi { + + @Override + public void repr(SkylarkPrinter printer) {} +} 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 new file mode 100644 index 0000000000..3aceccec96 --- /dev/null +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/FakeApkInfo.java @@ -0,0 +1,60 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.skydoc.fakebuildapi.android; + +import com.google.devtools.build.lib.events.Location; +import com.google.devtools.build.lib.skylarkbuildapi.FileApi; +import com.google.devtools.build.lib.skylarkbuildapi.android.ApkInfoApi; +import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; +import com.google.devtools.build.lib.syntax.EvalException; +import com.google.devtools.build.lib.syntax.SkylarkDict; + +/** + * Fake implementation of {@link ApkInfoApi}. + */ +public class FakeApkInfo implements ApkInfoApi { + + @Override + public FileApi getApk() { + return null; + } + + @Override + public String toProto(Location loc) throws EvalException { + return ""; + } + + @Override + public String toJson(Location loc) throws EvalException { + return ""; + } + + @Override + public void repr(SkylarkPrinter printer) {} + + /** + * Fake implementation of {@link ApkInfoApiProvider}. + */ + public static class FakeApkInfoProvider implements ApkInfoApiProvider { + + @Override + public ApkInfoApi createInfo(SkylarkDict kwargs, Location loc) throws EvalException { + return new FakeApkInfo(); + } + + @Override + public void repr(SkylarkPrinter printer) {} + } +} -- cgit v1.2.3