blob: 6c7bbee315a235611996ba64e4c4cb54eb31d068 [file] [log] [blame] [edit]
try-import %workspace%/.bazelrc.local
try-import %workspace%/.bazelrc.windows.local
# Enable bzlmod but without lockfile for a moment.
# Lockfile is a problem to check in at the moment
# because of constant Git conflicts and platform-specific
# pieces.
# https://github.com/bazelbuild/bazel/issues/20369
# https://github.com/bazelbuild/bazel/issues/21491
common --lockfile_mode=off
# Prepare for Bazel 8. These become the default in 8.0.0
common --incompatible_disallow_empty_glob
common --incompatible_use_plus_in_repo_names
# Ensure Windows support is accurate.
startup --windows_enable_symlinks
build --enable_runfiles
build --flag_alias=pin_browsers=//common:pin_browsers
build --flag_alias=headless=//common:headless
# Set the default java toolchain
build --java_language_version=21
build --java_runtime_version=remotejdk_21
build --tool_java_language_version=21
build --tool_java_runtime_version=remotejdk_21
# We target java 11 by default
build --javacopt="--release 11"
# Require java dependencies to be used and first-order
build --experimental_strict_java_deps=strict
build --explicit_java_test_deps
# Avoid ErrorProne getting annoyed about "impossible null checks"
build --javacopt="-Xep:ImpossibleNullComparison:OFF"
# Allow spaces in runfile paths
build --nobuild_runfile_links
# More JS magic
build --experimental_allow_unresolved_symlinks
# Avoid a warning about directory tracking being unsound
startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1
# Required for faster TS builds
build --@aspect_rules_ts//ts:skipLibCheck=always
fetch --@aspect_rules_ts//ts:skipLibCheck=always
query --@aspect_rules_ts//ts:skipLibCheck=always
build --@aspect_rules_ts//ts:default_to_tsc_transpiler
fetch --@aspect_rules_ts//ts:default_to_tsc_transpiler
query --@aspect_rules_ts//ts:default_to_tsc_transpiler
# Ensure builds are unpolluted by the user env
build --incompatible_strict_action_env
# Required to get `protobuf` compiling, which is required for `rules_closure`
build --incompatible_enable_cc_toolchain_resolution
build --cxxopt=-std=c++14
build --host_cxxopt=-std=c++14
# For build stamping
build --enable_platform_specific_config
build:linux --workspace_status_command=scripts/build-info.sh
build:macos --workspace_status_command=scripts/build-info.sh
build:windows --workspace_status_command="powershell.exe scripts/build-info.ps1"
# Make sure we get something helpful when tests fail
build --verbose_failures
build --test_output=errors
# pass environment variables to the test environment
test --test_env=CI
test --test_env=DASHBOARD_URL
test --test_env=DISPLAY
test --test_env=FIREFOX_NIGHTLY_BINARY
test --test_env=GITHUB_ACTIONS
test --test_env=MOZ_HEADLESS
test --test_env=SELENIUM_BROWSER
test --test_env=TRAVIS
test --test_env=PYTHON_VERSION
test --test_env=SE_AVOID_STATS=true
# Remove once rules_ruby support proper $LOAD_PATH expansion.
test --test_env=RUBYOPT="-Irb/lib -w"
# Speed up JRuby startup.
# https://github.com/jruby/jruby/wiki/Improving-startup-time
build --action_env=JRUBY_OPTS="--dev"
test --test_env=JRUBY_OPTS="--dev"
# Expose necessary variables for Selenium-Manager.
test:windows --test_env=PATH
test:windows --test_env=LOCALAPPDATA
test:windows --test_env=PROCESSOR_ARCHITECTURE
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
test --test_timeout=1800
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
build:release --stamp
build:release --compilation_mode=opt
# As regular `release` but all the build work happens on the RBE
build:rbe_release --config=release
build:rbe_release --config=rbe
build:rbe_release --remote_download_toplevel
# RBE
import %workspace%/.bazelrc.remote