mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
2c8c9a489a
This change contains a "hello world"-style example library to be sandboxed. It consists of a stand-alone CMake and Bazel project that uses Sandboxed API as its dependency. To use Sandboxed API in an external project, it should be enough to copy the files in the `sandboxed_api/examples/hello_sapi` directory as a starting point.
50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
# Copyright 2020 Google LLC
|
|
#
|
|
# 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.
|
|
|
|
# Example workspace demonstrating how to embed Sandboxed API into a project
|
|
# using Bazel.
|
|
|
|
workspace(name = "com_google_sandboxed_api_hello")
|
|
|
|
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
|
|
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
|
|
|
|
# Include the Sandboxed API dependency if it does not already exist in this
|
|
# project. This ensures that this workspace plays well with other external
|
|
# dependencies that might use Sandboxed API.
|
|
maybe(
|
|
git_repository,
|
|
name = "com_google_sandboxed_api",
|
|
# This example depends on the latest master. In an embedding project, it
|
|
# is advisable to pin Sandboxed API to a specific version.
|
|
# commit = "ba47adc21d4c9bc316f3c7c32b0faaef952c111e", # 2020-05-15
|
|
remote = "https://github.com/google/sandboxed-api.git",
|
|
)
|
|
|
|
# From here on, Sandboxed API files are available. The statements below setup
|
|
# transitive dependencies such as Abseil. Like above, those will only be
|
|
# included if they don't already exist in the project.
|
|
load(
|
|
"@com_google_sandboxed_api//sandboxed_api/bazel:sapi_deps.bzl",
|
|
"sapi_deps",
|
|
)
|
|
|
|
sapi_deps()
|
|
|
|
# Need to separately setup Protobuf dependencies in order for the build rules
|
|
# to work.
|
|
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
|
|
|
protobuf_deps()
|