[bazel] Build a single maven artifact bundle (#8049)

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
Co-authored-by: PJ Reiniger <pj.reiniger@gmail.com>
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
This commit is contained in:
Austin Schuh
2025-07-22 13:26:20 -07:00
committed by GitHub
parent f3af50fc8e
commit 60098b0685
17 changed files with 930 additions and 136 deletions

View File

@@ -1,28 +0,0 @@
###############################
# Linux Common
###############################
# C++ only
build:base_linux --cxxopt=-std=c++20
build:base_linux --cxxopt=-Wformat=2
build:base_linux --cxxopt=-pedantic
build:base_linux --cxxopt=-Wno-psabi
build:base_linux --cxxopt=-Wno-unused-parameter
build:base_linux --cxxopt=-fPIC
build:base_linux --cxxopt=-pthread
# C Only
build:base_linux --conlyopt=-Wformat=2
build:base_linux --conlyopt=-pedantic
build:base_linux --conlyopt=-Wno-psabi
build:base_linux --conlyopt=-Wno-unused-parameter
build:base_linux --conlyopt=-fPIC
build:base_linux --conlyopt=-pthread
# Linker
build:base_linux --linkopt=-rdynamic
build:base_linux --linkopt=-pthread
build:base_linux --linkopt=-ldl
build:base_linux --linkopt=-latomic
build:base_linux --linkopt=-Wl,-rpath,'$ORIGIN'

View File

@@ -1,17 +1,19 @@
###############################
# Linux
###############################
build:linux --config=base_linux
# Warning level
build:linux --copt=-Wall
build:linux --copt=-Wextra
build:linux --copt=-Werror
# Start with configuring the autodetected toolchain.
# The target toolchain should be captured already in its toolchain.
common:linux --repo_env=BAZEL_COPTS="-Wall:-Wextra:-Werror"
# Not in nativetools
build:linux --cxxopt=-Wno-deprecated-enum-enum-conversion
# C++ only
common:linux --repo_env=BAZEL_CXXOPTS="-std=c++20:-Wformat=2:-pedantic:-Wno-psabi:-Wno-unused-parameter:-fPIC:-pthread:-Wno-deprecated-enum-enum-conversion"
# C Only
common:linux --repo_env=BAZEL_CONLYOPTS="-Wformat=2:-pedantic:-Wno-psabi:-Wno-unused-parameter:-fPIC:-pthread"
# Linker
common:linux --repo_env=BAZEL_LINKOPTS="-rdynamic:-pthread:-ldl:-latomic:-Wl,-rpath,'$ORIGIN'"
# Cleanup build output for tools
build:linux --host_cxxopt=-Wno-missing-field-initializers
@@ -19,3 +21,11 @@ build:linux --host_cxxopt=-Wno-deprecated-enum-enum-conversion
build:linux --host_cxxopt=-Wno-sign-compare
build:linux --host_cxxopt=-Wno-unknown-pragmas
build:linux --host_cxxopt=-Wno-attributes
# Ignore potential issues in third party code on the host
build:linux --host_cxxopt=-Wno-pedantic
build:linux --host_cxxopt=-Wno-format-nonliteral
build:linux --host_cxxopt=-Wno-missing-requires
build:linux --host_cxxopt=-Wno-implicit-fallthrough
build:linux --host_per_file_copt=external/zlib/.*\.c@-Wno-deprecated-non-prototype

View File

@@ -1,36 +1,10 @@
# Warning level
build:macos --copt=-Wall
build:macos --copt=-Wextra
build:macos --copt=-Werror
common:macos --repo_env=BAZEL_COPTS="-Wall:-Wextra:-Werror:-Wno-shorten-64-to-32:-Wno-gcc-compat"
common:macos --host_per_file_copt=external/.*@-Wno-deprecated-non-prototype,-Wno-unused-function,-Wno-sign-compare
# C++ only
build:macos --cxxopt=-std=c++20
build:macos --cxxopt=-pedantic
build:macos --cxxopt=-fPIC
build:macos --cxxopt=-Wno-unused-parameter
build:macos --cxxopt=-Wno-error=deprecated-enum-enum-conversion
build:macos --cxxopt=-Wno-missing-field-initializers
build:macos --cxxopt=-Wno-unused-private-field
build:macos --cxxopt=-Wno-unused-const-variable
build:macos --cxxopt=-Wno-error=c11-extensions
build:macos --cxxopt=-pthread
build:macos --cxxopt=-Wno-deprecated-anon-enum-enum-conversion
common:macos --repo_env=BAZEL_CXXOPTS="-std=c++20:-pedantic:-fPIC:-Wno-unused-parameter:-Wno-error=deprecated-enum-enum-conversion:-Wno-missing-field-initializers:-Wno-unused-private-field:-Wno-unused-const-variable:-Wno-error=c11-extensions:-pthread:-Wno-deprecated-anon-enum-enum-conversion"
# C only
build:macos --conlyopt=-pedantic
build:macos --conlyopt=-fPIC
build:macos --conlyopt=-Wno-unused-parameter
build:macos --conlyopt=-Wno-missing-field-initializers
build:macos --conlyopt=-Wno-unused-private-field
build:macos --conlyopt=-Wno-fixed-enum-extension"
common:macos --repo_env=BAZEL_CONLYOPTS="-pedantic:-fPIC:-Wno-unused-parameter:-Wno-missing-field-initializers:-Wno-unused-private-field:-Wno-fixed-enum-extension"
build:macos --linkopt=-headerpad_max_install_names
build:macos --linkopt=-Wl,-rpath,'@loader_path'"
# Things not in nativetools
build:macos --copt=-Wno-shorten-64-to-32
build:macos --host_per_file_copt=external/zlib/.*\.c@-Wno-deprecated-non-prototype
build:macos --host_per_file_copt=external/com_google_protobuf/.*\.cc@-Wno-unused-function
common:macos --repo_env=BAZEL_LINKOPTS="-Wl,-rpath,'@loader_path'"

View File

@@ -1,17 +1,5 @@
###############################
# Roborio
###############################
build:roborio --config=base_linux
build:roborio --platforms=@rules_bzlmodrio_toolchains//platforms/roborio
build:roborio --features=compiler_param_file
build:roborio --platform_suffix=roborio
build:roborio --incompatible_enable_cc_toolchain_resolution
build:roborio --cxxopt=-Wno-error=deprecated-declarations
# Extra 11
build:roborio --cxxopt=-Wno-error=deprecated-enum-enum-conversion
build:roborio --host_per_file_copt=external/zlib/.*\.c@-Wno-deprecated-non-prototype

View File

@@ -1,10 +1,6 @@
build:systemcore --config=base_linux
###############################
# Systemcore
###############################
build:systemcore --platforms=@rules_bzlmodrio_toolchains//platforms/systemcore
build:systemcore --build_tag_filters=-no-systemcore
build:systemcore --features=compiler_param_file
build:systemcore --platform_suffix=systemcore
build:systemcore --incompatible_enable_cc_toolchain_resolution
build:systemcore --cxxopt=-Wno-error=deprecated-declarations

View File

@@ -2,49 +2,28 @@
# Common Flags
################################
# Warning level
build:windows_common --copt=/W3
build:windows_common --copt=/WX
common:windows --repo_env="BAZEL_COPTS=/W3:/WX"
# C++ options
build:windows_common --cxxopt=/EHsc
build:windows_common --cxxopt=/FS
build:windows_common --cxxopt=/Zc:inline
build:windows_common --cxxopt=/wd4244
build:windows_common --cxxopt=/wd4267
build:windows_common --cxxopt=/wd4146
build:windows_common --cxxopt=/wd4996
build:windows_common --cxxopt=/Zc:throwingNew
build:windows_common --cxxopt=/D_CRT_SECURE_NO_WARNINGS
build:windows_common --cxxopt=/std:c++20
build:windows_common --cxxopt=/permissive-
build:windows_common --cxxopt=/utf-8
build:windows_common --cxxopt=/bigobj
build:windows_common --cxxopt=/Zc:__cplusplus
build:windows_common --cxxopt=/Zc:preprocessor
build:windows_common --cxxopt=/wd5105
common:windows --repo_env="BAZEL_CXXOPTS=/EHsc:/FS:/Zc%:inline:/wd4244:/wd4267:/wd4146:/wd4996:/Zc%:throwingNew:/D_CRT_SECURE_NO_WARNINGS:/std%:c++20:/permissive-:/utf-8:/bigobj:/Zc%:__cplusplus:/Zc%:preprocessor:/wd5105"
# Remove "/D_WIN32_WINNT=0x0601"
common:windows --repo_env="BAZEL_WIN32_WINNT="
# C Only
build:windows_common --conlyopt=/FS
build:windows_common --conlyopt=/Zc:inline
build:windows_common --conlyopt=/D_CRT_SECURE_NO_WARNINGS
# build:windows_common --linkopt=/IGNORE:4099
# TODO there is a "bug" in bazel that forces "/D_WIN32_WINNT=0x0601". Remove it from the files that break because of this.
build:windows_common --per_file_copt=wpiutil/src/main/native/cpp/timestamp.cpp,wpinet/src/main/native/thirdparty/libuv/src/win/util.cpp,hal/src/main/native/sim/HAL.cpp@/U_WIN32_WINNT
common:windows --repo_env="BAZEL_CONLYOPTS=/FS:/Zc%:inline:/D_CRT_SECURE_NO_WARNINGS"
################################
# Standard Windows Flags
################################
build:windows --config=windows_common
build:windows --linkopt=/DEPENDENTLOADFLAG:0x1100
build:windows --repo_env="BAZEL_LINKOPTS=/DEPENDENTLOADFLAG%:0x1100"
################################
# ARM Windows Flags
################################
build:windows_arm --config=windows_common
build:windows_arm --platforms="@rules_bzlmodrio_toolchains//platforms/windows_arm64" --platform_suffix=windowsarm64
build:windows_arm --cpu=arm64_windows
build:windows_arm --linkopt=/IGNORE:4099
# Ignore duplicate inline statment in tools
build:windows --host_copt=/wd4141
# Ignore utf8 warning in tools
build:windows --host_copt=/wd4715