From b0000fd4f998dc45bef7d6606821c9d782e744ac Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Fri, 22 Sep 2023 14:50:28 -0700 Subject: [PATCH] chore: update bzlmod example - set the bazel version rather than recommend 'floating' last green - recommend enabling bzlmod in .bazelrc - simplify 'try it' commands --- .bazelci/bzlmod.yml | 12 ------------ bzlmod/01-depend_on_bazel_module/.bazelrc | 1 + bzlmod/01-depend_on_bazel_module/.bazelversion | 1 + bzlmod/01-depend_on_bazel_module/README.md | 4 +--- bzlmod/02-override_bazel_module/.bazelrc | 1 + bzlmod/02-override_bazel_module/.bazelversion | 1 + bzlmod/02-override_bazel_module/README.md | 4 +--- .../.bazelrc | 1 + .../.bazelversion | 1 + .../README.md | 3 +-- .../04-local_config_and_register_toolchains/.bazelrc | 1 + .../.bazelversion | 1 + .../README.md | 4 +--- .../.bazelrc | 1 + .../.bazelversion | 1 + .../README.md | 3 +-- bzlmod/06-specify_dev_dependency/.bazelrc | 1 + bzlmod/06-specify_dev_dependency/.bazelversion | 1 + bzlmod/06-specify_dev_dependency/README.md | 3 +-- bzlmod/README.md | 7 +++---- 20 files changed, 21 insertions(+), 31 deletions(-) create mode 100644 bzlmod/01-depend_on_bazel_module/.bazelrc create mode 100644 bzlmod/01-depend_on_bazel_module/.bazelversion create mode 120000 bzlmod/02-override_bazel_module/.bazelrc create mode 120000 bzlmod/02-override_bazel_module/.bazelversion create mode 120000 bzlmod/03-introduce_dependencies_with_module_extension/.bazelrc create mode 120000 bzlmod/03-introduce_dependencies_with_module_extension/.bazelversion create mode 120000 bzlmod/04-local_config_and_register_toolchains/.bazelrc create mode 120000 bzlmod/04-local_config_and_register_toolchains/.bazelversion create mode 120000 bzlmod/05-integrate_third_party_package_manager/.bazelrc create mode 120000 bzlmod/05-integrate_third_party_package_manager/.bazelversion create mode 120000 bzlmod/06-specify_dev_dependency/.bazelrc create mode 120000 bzlmod/06-specify_dev_dependency/.bazelversion diff --git a/.bazelci/bzlmod.yml b/.bazelci/bzlmod.yml index 78aad0846..ae3205b6c 100644 --- a/.bazelci/bzlmod.yml +++ b/.bazelci/bzlmod.yml @@ -7,24 +7,18 @@ tasks: name: "Depend on Bazel module" platform: ${{ all_platform }} working_directory: ../bzlmod/01-depend_on_bazel_module - build_flags: - - "--enable_bzlmod" build_targets: - "//:main" 02-override_bazel_module: name: "Override Bazel module" platform: ${{ all_platform }} working_directory: ../bzlmod/02-override_bazel_module - build_flags: - - "--enable_bzlmod" build_targets: - "//:main" 03-introduce_dependencies_with_module_extension: name: "Introduce dependencies with module extension" platform: ${{ all_platform }} working_directory: ../bzlmod/03-introduce_dependencies_with_module_extension - build_flags: - - "--enable_bzlmod" build_targets: - "//:city_count" - "//:emoji_count" @@ -34,23 +28,17 @@ tasks: environment: MY_SHELL_BIN_PATH: /foo/bar/sh working_directory: ../bzlmod/04-local_config_and_register_toolchains - build_flags: - - "--enable_bzlmod" build_targets: - "//:get_sh_path" 05-integrate_third_party_package_manager: name: "Integrate third party package manager" platform: ${{ all_platform }} working_directory: ../bzlmod/05-integrate_third_party_package_manager - build_flags: - - "--enable_bzlmod" build_targets: - "//:check_books" 06-specify_dev_dependency: name: "Specify dev dependency" platform: ${{ all_platform }} working_directory: ../bzlmod/06-specify_dev_dependency - build_flags: - - "--enable_bzlmod" build_targets: - "//:check_books" diff --git a/bzlmod/01-depend_on_bazel_module/.bazelrc b/bzlmod/01-depend_on_bazel_module/.bazelrc new file mode 100644 index 000000000..3ce91d272 --- /dev/null +++ b/bzlmod/01-depend_on_bazel_module/.bazelrc @@ -0,0 +1 @@ +common --enable_bzlmod diff --git a/bzlmod/01-depend_on_bazel_module/.bazelversion b/bzlmod/01-depend_on_bazel_module/.bazelversion new file mode 100644 index 000000000..798e38995 --- /dev/null +++ b/bzlmod/01-depend_on_bazel_module/.bazelversion @@ -0,0 +1 @@ +6.3.0 diff --git a/bzlmod/01-depend_on_bazel_module/README.md b/bzlmod/01-depend_on_bazel_module/README.md index 2934614e9..57e9174e3 100644 --- a/bzlmod/01-depend_on_bazel_module/README.md +++ b/bzlmod/01-depend_on_bazel_module/README.md @@ -6,7 +6,5 @@ This is an example on how to introduce dependencies on Bazel modules in the MODU To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -bazelisk build --enable_bzlmod //:main -GLOG_logtostderr=1 ./bazel-bin/main +GLOG_logtostderr=1 bazel run main ``` diff --git a/bzlmod/02-override_bazel_module/.bazelrc b/bzlmod/02-override_bazel_module/.bazelrc new file mode 120000 index 000000000..4d16fa175 --- /dev/null +++ b/bzlmod/02-override_bazel_module/.bazelrc @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelrc \ No newline at end of file diff --git a/bzlmod/02-override_bazel_module/.bazelversion b/bzlmod/02-override_bazel_module/.bazelversion new file mode 120000 index 000000000..994c13ed9 --- /dev/null +++ b/bzlmod/02-override_bazel_module/.bazelversion @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelversion \ No newline at end of file diff --git a/bzlmod/02-override_bazel_module/README.md b/bzlmod/02-override_bazel_module/README.md index 746c4188e..bda3a7cc6 100644 --- a/bzlmod/02-override_bazel_module/README.md +++ b/bzlmod/02-override_bazel_module/README.md @@ -10,7 +10,5 @@ Note that the final source tree after overriding must contain a MODULE.bazel fil To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -bazelisk build --enable_bzlmod //:main -GLOG_logtostderr=1 ./bazel-bin/main +GLOG_logtostderr=1 bazel run main ``` diff --git a/bzlmod/03-introduce_dependencies_with_module_extension/.bazelrc b/bzlmod/03-introduce_dependencies_with_module_extension/.bazelrc new file mode 120000 index 000000000..4d16fa175 --- /dev/null +++ b/bzlmod/03-introduce_dependencies_with_module_extension/.bazelrc @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelrc \ No newline at end of file diff --git a/bzlmod/03-introduce_dependencies_with_module_extension/.bazelversion b/bzlmod/03-introduce_dependencies_with_module_extension/.bazelversion new file mode 120000 index 000000000..994c13ed9 --- /dev/null +++ b/bzlmod/03-introduce_dependencies_with_module_extension/.bazelversion @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelversion \ No newline at end of file diff --git a/bzlmod/03-introduce_dependencies_with_module_extension/README.md b/bzlmod/03-introduce_dependencies_with_module_extension/README.md index 1aad9892a..3f4182b0a 100644 --- a/bzlmod/03-introduce_dependencies_with_module_extension/README.md +++ b/bzlmod/03-introduce_dependencies_with_module_extension/README.md @@ -8,7 +8,6 @@ This is an example on how to introduce dependencies by invoking external reposit To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -bazelisk build --enable_bzlmod //:city_count //:emoji_count +bazel build //:city_count //:emoji_count cat bazel-bin/city_number bazel-bin/emoji_number ``` diff --git a/bzlmod/04-local_config_and_register_toolchains/.bazelrc b/bzlmod/04-local_config_and_register_toolchains/.bazelrc new file mode 120000 index 000000000..4d16fa175 --- /dev/null +++ b/bzlmod/04-local_config_and_register_toolchains/.bazelrc @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelrc \ No newline at end of file diff --git a/bzlmod/04-local_config_and_register_toolchains/.bazelversion b/bzlmod/04-local_config_and_register_toolchains/.bazelversion new file mode 120000 index 000000000..994c13ed9 --- /dev/null +++ b/bzlmod/04-local_config_and_register_toolchains/.bazelversion @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelversion \ No newline at end of file diff --git a/bzlmod/04-local_config_and_register_toolchains/README.md b/bzlmod/04-local_config_and_register_toolchains/README.md index afd949b76..462b51c99 100644 --- a/bzlmod/04-local_config_and_register_toolchains/README.md +++ b/bzlmod/04-local_config_and_register_toolchains/README.md @@ -6,8 +6,6 @@ This is an example on how to generate local config repos and register toolchains To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -export MY_SHELL_BIN_PATH=/foo/bar/sh -bazelisk build --enable_bzlmod //:get_sh_path +MY_SHELL_BIN_PATH=/foo/bar/sh bazel build //:get_sh_path cat ./bazel-bin/result ``` diff --git a/bzlmod/05-integrate_third_party_package_manager/.bazelrc b/bzlmod/05-integrate_third_party_package_manager/.bazelrc new file mode 120000 index 000000000..4d16fa175 --- /dev/null +++ b/bzlmod/05-integrate_third_party_package_manager/.bazelrc @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelrc \ No newline at end of file diff --git a/bzlmod/05-integrate_third_party_package_manager/.bazelversion b/bzlmod/05-integrate_third_party_package_manager/.bazelversion new file mode 120000 index 000000000..994c13ed9 --- /dev/null +++ b/bzlmod/05-integrate_third_party_package_manager/.bazelversion @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelversion \ No newline at end of file diff --git a/bzlmod/05-integrate_third_party_package_manager/README.md b/bzlmod/05-integrate_third_party_package_manager/README.md index 5ef7522b8..ed4c01045 100644 --- a/bzlmod/05-integrate_third_party_package_manager/README.md +++ b/bzlmod/05-integrate_third_party_package_manager/README.md @@ -15,8 +15,7 @@ It covers the following topics: To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -bazelisk build --enable_bzlmod //:check_books +bazel build check_books cat ./bazel-bin/books ``` diff --git a/bzlmod/06-specify_dev_dependency/.bazelrc b/bzlmod/06-specify_dev_dependency/.bazelrc new file mode 120000 index 000000000..4d16fa175 --- /dev/null +++ b/bzlmod/06-specify_dev_dependency/.bazelrc @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelrc \ No newline at end of file diff --git a/bzlmod/06-specify_dev_dependency/.bazelversion b/bzlmod/06-specify_dev_dependency/.bazelversion new file mode 120000 index 000000000..994c13ed9 --- /dev/null +++ b/bzlmod/06-specify_dev_dependency/.bazelversion @@ -0,0 +1 @@ +../01-depend_on_bazel_module/.bazelversion \ No newline at end of file diff --git a/bzlmod/06-specify_dev_dependency/README.md b/bzlmod/06-specify_dev_dependency/README.md index 8ba0ccfe5..1090cfb56 100644 --- a/bzlmod/06-specify_dev_dependency/README.md +++ b/bzlmod/06-specify_dev_dependency/README.md @@ -8,8 +8,7 @@ Dev dependencies only take effect when the current module is the root module, an To test it out, `cd` into this directory and run the following: ```bash -export USE_BAZEL_VERSION=last_green -bazelisk build --enable_bzlmod //:check_books +bazel build check_books cat ./bazel-bin/books ``` diff --git a/bzlmod/README.md b/bzlmod/README.md index c3bad1b93..98bbf2938 100644 --- a/bzlmod/README.md +++ b/bzlmod/README.md @@ -4,10 +4,9 @@ This folder contains example usages of the new external dependency system for Ba - The WORKSPACE file for defining equivalent dependencies with the old system. - An empty WORKSPACE.bzlmod file to prevent fetching any dependencies from the old WORKSPACE system when Bzlmod is enabled. (Bzlmod and WORKSPACE can work at the same time, with dependencies from Bzlmod takes priority.) -To turn on Bzlmod, you'll need to pass `--experimental_enable_bzlmod` as a build flag. +With Bazel 6, you'll need to pass `--enable_bzlmod` as a build flag to turn +this feature on. Consider adding this to `.bazelrc`: -As of Jun 2022, Bzlmod is still in development, it's recommended to test with Bazel built at HEAD, you can use Bazel built at HEAD via [Bazelisk](https://github.com/bazelbuild/bazelisk/releases), ``` -export USE_BAZEL_VERSION=last_green -bazelisk build +common --enable_bzlmod ```