diff options
14 files changed, 452 insertions, 1 deletions
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<FileApi> { + + @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<FileApi> { + + @Override + public AndroidInstrumentationInfoApi<FileApi> 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<FileApi> { + + @Override + public NestedSet<FileApi> 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<FileApi> { + + @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<FileApi> { + + @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) {} + } +} diff --git a/src/test/java/com/google/devtools/build/skydoc/BUILD b/src/test/java/com/google/devtools/build/skydoc/BUILD index 6a2ab769b5..1c495da117 100644 --- a/src/test/java/com/google/devtools/build/skydoc/BUILD +++ b/src/test/java/com/google/devtools/build/skydoc/BUILD @@ -53,6 +53,13 @@ skydoc_test( ) skydoc_test( + name = "android_basic_test", + golden_file = "testdata/android_basic_test/golden.txt", + input_file = "testdata/android_basic_test/input.bzl", + skydoc = "//src/main/java/com/google/devtools/build/skydoc", +) + +skydoc_test( name = "apple_basic_test", golden_file = "testdata/apple_basic_test/golden.txt", input_file = "testdata/apple_basic_test/input.bzl", diff --git a/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/golden.txt b/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/golden.txt new file mode 100644 index 0000000000..c7ed05dd3d --- /dev/null +++ b/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/golden.txt @@ -0,0 +1,4 @@ +android_related_rule +This rule does android-related things. +first,second,third,fourth + diff --git a/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/input.bzl b/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/input.bzl new file mode 100644 index 0000000000..eb78efad58 --- /dev/null +++ b/src/test/java/com/google/devtools/build/skydoc/testdata/android_basic_test/input.bzl @@ -0,0 +1,24 @@ +def exercise_the_api(): + var1 = android_common.create_device_broker_info("") + var2 = ApkInfo + var3 = AndroidInstrumentationInfo + var4 = AndroidDeviceBrokerInfo + var5 = AndroidResourcesInfo + var6 = AndroidNativeLibsInfo + +exercise_the_api() + +def my_rule_impl(ctx): + return struct() + + +android_related_rule = rule( + implementation = my_rule_impl, + doc = "This rule does android-related things.", + attrs = { + "first": attr.label(mandatory = True, allow_files = True, single_file = True), + "second": attr.string_dict(mandatory = True), + "third": attr.output(mandatory = True), + "fourth": attr.bool(default = False, mandatory = False), + }, +) |