Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bazel/ci: unify developer-local and CI build generation. #747

Merged
merged 10 commits into from
Apr 13, 2017
75 changes: 0 additions & 75 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -3,78 +3,3 @@ workspace(name = "envoy")
load("//bazel:repositories.bzl", "envoy_dependencies")

envoy_dependencies()

bind(
name = "ares",
actual = "@cares_git//:ares",
)

bind(
name = "cc_wkt_protos_genproto",
actual = "@protobuf_git//:cc_wkt_protos_genproto",
)

bind(
name = "cc_wkt_protos",
actual = "@protobuf_git//:cc_wkt_protos",
)

bind(
name = "event",
actual = "@libevent_git//:event",
)

bind(
name = "event_pthreads",
actual = "@libevent_git//:event_pthreads",
)

bind(
name = "googletest",
actual = "@googletest_git//:googletest",
)

bind(
name = "http_parser",
actual = "@http_parser_git//:http_parser",
)

bind(
name = "lightstep",
actual = "@lightstep_git//:lightstep_core",
)

bind(
name = "nghttp2",
actual = "@nghttp2_tar//:nghttp2",
)

bind(
name = "protobuf",
actual = "@protobuf_git//:protobuf",
)

bind(
name = "protoc",
actual = "@protobuf_git//:protoc",
)

bind(
name = "rapidjson",
actual = "@rapidjson_git//:rapidjson",
)

bind(
name = "spdlog",
actual = "@spdlog_git//:spdlog",
)

bind(
name = "ssl",
actual = "@boringssl//:ssl",
)

bind(
name = "tclap",
actual = "@tclap_archive//:tclap",
)
18 changes: 18 additions & 0 deletions bazel/EXTERNAL_DEPS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Adding external dependencies to Envoy

1. Specify name and version in [external documentation](../docs/install/requirements.rst).
2. Add a build recipe X in [`ci/build_container/build_recipes`](../ci/build_container/build_recipes)
for developer-local and CI external dependency build flows.
3. Add the build recipe X to the list in [`bazel/recipes.bzl`](recipes.bzl).
4. Add a build target Y in [`ci/prebuilt/BUILD`](../ci/prebuilt/BUILD) to consume the headers and
libraries produced by the build recipe X.
5. Add a map from target Y to build recipe X in [`target_recipes.bzl`](target_recipes.bzl).
6. Reference your new external dependency in some `envoy_cc_library` via Y in the `external_deps`
attribute.
7. `bazel test //test/...`

# Updating an external dependency version

1. Specify the new version in [external documentation](../docs/install/requirements.rst).
2. Update the build recipe in [`ci/build_container/build_recipes`](../ci/build_container/build_recipes).
3. `bazel test //test/...`
2 changes: 1 addition & 1 deletion bazel/envoy_build_system.bzl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
load("@protobuf_git//:protobuf.bzl", "cc_proto_library")
load("@protobuf_bzl//:protobuf.bzl", "cc_proto_library")

ENVOY_COPTS = [
# TODO(htuch): Remove this when Bazel bringup is done.
Expand Down
Loading