aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skydoc
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-06-29 12:34:37 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-29 12:36:42 -0700
commit636f5c08283d6d9dc3b7115d14a37542b05c3afb (patch)
tree7326a054963d8214d2f742881374f0f0ed96e040 /src/main/java/com/google/devtools/build/skydoc
parent677a614d5d55c5d3df0fe23c21ff48525ef2e179 (diff)
Add cc_common top-level skylark object to fakebuildapi.
RELNOTES: None. PiperOrigin-RevId: 202690562
Diffstat (limited to 'src/main/java/com/google/devtools/build/skydoc')
-rw-r--r--src/main/java/com/google/devtools/build/skydoc/BUILD3
-rw-r--r--src/main/java/com/google/devtools/build/skydoc/SkydocMain.java4
-rw-r--r--src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD24
-rw-r--r--src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java91
4 files changed, 122 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/skydoc/BUILD b/src/main/java/com/google/devtools/build/skydoc/BUILD
index 7edf2a3109..6299f095d4 100644
--- a/src/main/java/com/google/devtools/build/skydoc/BUILD
+++ b/src/main/java/com/google/devtools/build/skydoc/BUILD
@@ -19,6 +19,7 @@ filegroup(
"//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/cpp:srcs",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform:srcs",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository:srcs",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test:srcs",
@@ -44,6 +45,7 @@ java_library(
"//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/cpp",
"//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform",
"//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
"//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test",
@@ -52,6 +54,7 @@ java_library(
"//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/cpp",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test",
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 9118e7796a..34e98bc0e9 100644
--- a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
+++ b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
@@ -22,6 +22,7 @@ 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.cpp.CcBootstrap;
import com.google.devtools.build.lib.skylarkbuildapi.platform.PlatformBootstrap;
import com.google.devtools.build.lib.skylarkbuildapi.repository.RepositoryBootstrap;
import com.google.devtools.build.lib.skylarkbuildapi.test.TestingBootstrap;
@@ -53,6 +54,7 @@ import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidSkylarkC
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.cpp.FakeCcModule;
import com.google.devtools.build.skydoc.fakebuildapi.platform.FakePlatformCommon;
import com.google.devtools.build.skydoc.fakebuildapi.repository.FakeRepositoryModule;
import com.google.devtools.build.skydoc.fakebuildapi.test.FakeTestingModule;
@@ -249,6 +251,7 @@ public class SkydocMain {
new FakeAndroidNativeLibsInfoProvider());
AppleBootstrap appleBootstrap = new AppleBootstrap(new FakeAppleCommon());
ConfigBootstrap configBootstrap = new ConfigBootstrap(new FakeConfigSkylarkCommon());
+ CcBootstrap ccBootstrap = new CcBootstrap(new FakeCcModule());
PlatformBootstrap platformBootstrap = new PlatformBootstrap(new FakePlatformCommon());
RepositoryBootstrap repositoryBootstrap = new RepositoryBootstrap(new FakeRepositoryModule());
TestingBootstrap testingBootstrap = new TestingBootstrap(new FakeTestingModule());
@@ -260,6 +263,7 @@ public class SkydocMain {
topLevelBootstrap.addBindingsToBuilder(envBuilder);
androidBootstrap.addBindingsToBuilder(envBuilder);
appleBootstrap.addBindingsToBuilder(envBuilder);
+ ccBootstrap.addBindingsToBuilder(envBuilder);
configBootstrap.addBindingsToBuilder(envBuilder);
platformBootstrap.addBindingsToBuilder(envBuilder);
repositoryBootstrap.addBindingsToBuilder(envBuilder);
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD
new file mode 100644
index 0000000000..a8fc8a287c
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD
@@ -0,0 +1,24 @@
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+licenses(["notice"]) # Apache 2.0
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"]),
+)
+
+java_library(
+ name = "cpp",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//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/skylarkbuildapi",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp",
+ "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java
new file mode 100644
index 0000000000..c8f7a06778
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java
@@ -0,0 +1,91 @@
+// 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.cpp;
+
+import com.google.devtools.build.lib.skylarkbuildapi.ProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcModuleApi;
+import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcToolchainProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcToolchainVariablesApi;
+import com.google.devtools.build.lib.skylarkbuildapi.cpp.FeatureConfigurationApi;
+import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.SkylarkDict;
+import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeProviderApi;
+
+/**
+ * Fake implementation of {@link CcModuleApi}.
+ */
+public class FakeCcModule implements CcModuleApi<CcToolchainProviderApi, FeatureConfigurationApi,
+ CcToolchainVariablesApi> {
+
+ @Override
+ public ProviderApi getCcToolchainProvider() {
+ return new FakeProviderApi();
+ }
+
+ @Override
+ public FeatureConfigurationApi configureFeatures(CcToolchainProviderApi toolchain,
+ SkylarkList<String> requestedFeatures, SkylarkList<String> unsupportedFeatures)
+ throws EvalException {
+ return null;
+ }
+
+ @Override
+ public String getToolForAction(FeatureConfigurationApi featureConfiguration, String actionName) {
+ return "";
+ }
+
+ @Override
+ public boolean isEnabled(FeatureConfigurationApi featureConfiguration, String featureName) {
+ return false;
+ }
+
+ @Override
+ public SkylarkList<String> getCommandLine(FeatureConfigurationApi featureConfiguration,
+ String actionName, CcToolchainVariablesApi variables) {
+ return null;
+ }
+
+ @Override
+ public SkylarkDict<String, String> getEnvironmentVariable(
+ FeatureConfigurationApi featureConfiguration, String actionName,
+ CcToolchainVariablesApi variables) {
+ return null;
+ }
+
+ @Override
+ public CcToolchainVariablesApi getCompileBuildVariables(
+ CcToolchainProviderApi ccToolchainProvider, FeatureConfigurationApi featureConfiguration,
+ Object sourceFile, Object outputFile, Object userCompileFlags, Object includeDirs,
+ Object quoteIncludeDirs, Object systemIncludeDirs, Object defines, boolean usePic,
+ boolean addLegacyCxxOptions) throws EvalException {
+ return null;
+ }
+
+ @Override
+ public CcToolchainVariablesApi getLinkBuildVariables(CcToolchainProviderApi ccToolchainProvider,
+ FeatureConfigurationApi featureConfiguration, Object librarySearchDirectories,
+ Object runtimeLibrarySearchDirectories, Object userLinkFlags, Object outputFile,
+ Object paramFile, Object defFile, boolean isUsingLinkerNotArchiver,
+ boolean isCreatingSharedLibrary, boolean mustKeepDebug, boolean useTestOnlyFlags,
+ boolean isStaticLinkingMode) throws EvalException {
+ return null;
+ }
+
+ @Override
+ public CcToolchainVariablesApi getVariables() {
+ return null;
+ }
+}