aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-06-28 12:32:46 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-28 12:33:55 -0700
commit030448ab0570d04c450b8531215411809307481e (patch)
tree9c5118c833a58306b915fd21118c70a8955cc274 /src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java
parent358c5157508bf3a867da68c9523352edd5607e60 (diff)
Add rudimentary apple-related classes to fakebuildapi.
These fakes won't behave at all like real implementations at this time. In fact, invoking some of their methods (or accessing their fields) may result in an error. This serves, however, as the initial check-in which can be iterated on and improved later. RELNOTES: None. PiperOrigin-RevId: 202525168
Diffstat (limited to 'src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java')
-rw-r--r--src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java155
1 files changed, 155 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java
new file mode 100644
index 0000000000..59a2acfeef
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java
@@ -0,0 +1,155 @@
+// 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.apple;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.devtools.build.lib.skylarkbuildapi.FileApi;
+import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAspectApi;
+import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi;
+import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.StructApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleCommonApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleDynamicFrameworkInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.ApplePlatformApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleStaticLibraryInfoApi.AppleStaticLibraryInfoProvider;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleToolchainApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.DottedVersionApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.ObjcProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.apple.XcodeConfigProviderApi;
+import com.google.devtools.build.lib.syntax.Environment;
+import com.google.devtools.build.lib.syntax.SkylarkDict;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeProviderApi;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeSkylarkAspect;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeSplitTransitionProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi;
+import com.google.devtools.build.skydoc.fakebuildapi.apple.FakeAppleStaticLibraryInfo.FakeAppleStaticLibraryInfoProvider;
+
+/**
+ * Fake implementation of {@link AppleCommonApi}.
+ */
+public class FakeAppleCommon implements AppleCommonApi<
+ FileApi,
+ ObjcProviderApi<?>,
+ XcodeConfigProviderApi<?, ?>,
+ ApplePlatformApi> {
+
+ @Override
+ public AppleToolchainApi<?> getAppleToolchain() {
+ return new FakeAppleToolchain();
+ }
+
+ @Override
+ public StructApi getPlatformTypeStruct() {
+ return new FakeStructApi();
+ }
+
+ @Override
+ public StructApi getPlatformStruct() {
+ return new FakeStructApi();
+ }
+
+ @Override
+ public ProviderApi getXcodeVersionPropertiesConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getXcodeVersionConfigConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getObjcProviderConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getAppleDynamicFrameworkConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getAppleDylibBinaryConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getAppleExecutableBinaryConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public AppleStaticLibraryInfoProvider<?, ?> getAppleStaticLibraryProvider() {
+ return new FakeAppleStaticLibraryInfoProvider();
+ }
+
+ @Override
+ public ProviderApi getAppleDebugOutputsConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public ProviderApi getAppleLoadableBundleBinaryConstructor() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public SplitTransitionProviderApi getMultiArchSplitProvider() {
+ return new FakeSplitTransitionProvider();
+ }
+
+ @Override
+ public StructApi linkMultiArchBinary(
+ SkylarkRuleContextApi skylarkRuleContext, Environment environment) {
+ return new FakeStructApi();
+ }
+
+ @Override
+ public DottedVersionApi<?> dottedVersion(String version) {
+ return new FakeDottedVersion();
+ }
+
+ @Override
+ public SkylarkAspectApi getObjcProtoAspect() {
+ return new FakeSkylarkAspect();
+ }
+
+ @Override
+ public AppleDynamicFrameworkInfoApi<?, ?> newDynamicFrameworkProvider(FileApi dylibBinary,
+ ObjcProviderApi<?> depsObjcProvider, Object dynamicFrameworkDirs,
+ Object dynamicFrameworkFiles) {
+ return new FakeAppleDynamicFrameworkInfo();
+ }
+
+ @Override
+ public ObjcProviderApi<?> newObjcProvider(Boolean usesSwift, SkylarkDict<?, ?> kwargs,
+ Environment environment) {
+ return new FakeObjcProvider();
+ }
+
+ @Override
+ public ImmutableMap<String, String> getTargetAppleEnvironment(
+ XcodeConfigProviderApi<?, ?> xcodeConfig,
+ ApplePlatformApi platform) {
+ return ImmutableMap.of();
+ }
+
+ @Override
+ public ImmutableMap<String, String> getAppleHostSystemEnv(
+ XcodeConfigProviderApi<?, ?> xcodeConfig) {
+ return ImmutableMap.of();
+ }
+}