Skip to content

Commit b183acf

Browse files
authored
Add --incompatible_disallow_empty_glob=1 to bazel rc for bazel8 prep (#25)
1 parent 8b19e6e commit b183acf

File tree

13 files changed

+115
-46
lines changed

13 files changed

+115
-46
lines changed

.bazelrc

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,53 @@ import .bazelrc-cc
55
import .bazelrc-java
66
import .bazelrc-buildbuddy
77

8+
build --incompatible_disallow_empty_glob=1 # Bazel 8 prep
9+
810
build --test_env=LD_LIBRARY_PATH=.
911
build --test_env=DYLD_LIBRARY_PATH=.
1012

11-
# Roborio
13+
# roborio
1214
build:roborio --platforms=@rules_bzlmodrio_toolchains//platforms/roborio
1315
build:roborio --build_tag_filters=-no-roborio
1416
build:roborio --platform_suffix=roborio
1517

18+
# systemcore
19+
build:systemcore --platforms=@rules_bzlmodrio_toolchains//platforms/systemcore
20+
build:systemcore --build_tag_filters=-no-systemcore
21+
build:systemcore --platform_suffix=systemcore
22+
1623
# bullseye32
1724
build:bullseye32 --platforms=@rules_bzlmodrio_toolchains//platforms/bullseye32
18-
build:bullseye32 --build_tag_filters=-no-bullseye
25+
build:bullseye32 --build_tag_filters=-no-bullseye32
1926
build:bullseye32 --platform_suffix=bullseye32
2027

2128
# bullseye64
2229
build:bullseye64 --platforms=@rules_bzlmodrio_toolchains//platforms/bullseye64
23-
build:bullseye64 --build_tag_filters=-no-bullseye
30+
build:bullseye64 --build_tag_filters=-no-bullseye64
2431
build:bullseye64 --platform_suffix=bullseye64
2532

2633
# bookworm32
2734
build:bookworm32 --platforms=@rules_bzlmodrio_toolchains//platforms/bookworm32
28-
build:bookworm32 --build_tag_filters=-no-bookworm
35+
build:bookworm32 --build_tag_filters=-no-bookworm32
2936
build:bookworm32 --platform_suffix=bookworm32
3037

3138
# bookworm64
3239
build:bookworm64 --platforms=@rules_bzlmodrio_toolchains//platforms/bookworm64
33-
build:bookworm64 --build_tag_filters=-no-bookworm
40+
build:bookworm64 --build_tag_filters=-no-bookworm64
3441
build:bookworm64 --platform_suffix=bookworm64
3542

36-
# rasppi bullseye
43+
# raspibullseye32
3744
build:raspibullseye32 --platforms=@rules_bzlmodrio_toolchains//platforms/raspibullseye32
38-
build:raspibullseye32 --build_tag_filters=-no-raspi
45+
build:raspibullseye32 --build_tag_filters=-no-raspibullseye32
3946
build:raspibullseye32 --platform_suffix=raspibullseye32
4047

41-
# rasppi bookworm
48+
# raspibookworm32
4249
build:raspibookworm32 --platforms=@rules_bzlmodrio_toolchains//platforms/raspibookworm32
43-
build:raspibookworm32 --build_tag_filters=-no-raspi
50+
build:raspibookworm32 --build_tag_filters=-no-raspibookworm32
4451
build:raspibookworm32 --platform_suffix=raspibookworm32
4552

4653
# Alias toolchain names to what wpilibsuite uses for CI/Artifact naming
4754
build:athena --config=roborio
48-
build:systemcore --config=bookworm64
4955
build:linuxarm32 --config=raspibookworm32
5056
build:linuxarm64 --config=bookworm64
5157

.bazelrc-cc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,16 @@ build:macos --cxxopt=-Wno-error=deprecated-anon-enum-enum-conversion
4040
build:macos --cxxopt=-Wno-error=inconsistent-missing-override
4141
build:macos --cxxopt=-Wno-error=overloaded-virtual
4242

43-
# Roborio
43+
# roborio
4444
build:roborio --incompatible_enable_cc_toolchain_resolution
4545
build:roborio --copt=-std=c++20
4646
build:roborio --features=compiler_param_file
4747

48+
# systemcore
49+
build:systemcore --incompatible_enable_cc_toolchain_resolution
50+
build:systemcore --copt=-std=c++20
51+
build:systemcore --features=compiler_param_file
52+
4853
# bullseye32
4954
build:bullseye32 --incompatible_enable_cc_toolchain_resolution
5055
build:bullseye32 --copt=-std=c++20
@@ -65,12 +70,12 @@ build:bookworm64 --incompatible_enable_cc_toolchain_resolution
6570
build:bookworm64 --copt=-std=c++20
6671
build:bookworm64 --features=compiler_param_file
6772

68-
# rasppi bullseye
73+
# raspibullseye32
6974
build:raspibullseye32 --incompatible_enable_cc_toolchain_resolution
7075
build:raspibullseye32 --copt=-std=c++20
7176
build:raspibullseye32 --features=compiler_param_file
7277

73-
# rasppi bookworm
78+
# raspibookworm32
7479
build:raspibookworm32 --incompatible_enable_cc_toolchain_resolution
7580
build:raspibookworm32 --copt=-std=c++20
7681
build:raspibookworm32 --features=compiler_param_file

.github/workflows/build.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,39 @@ jobs:
119119
- name: Build
120120
run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=ci
121121
working-directory: tests
122+
123+
build_linuxarm64:
124+
strategy:
125+
fail-fast: false
126+
matrix:
127+
include:
128+
# Build non-bzlmod, linuxarm64
129+
- { name: "windows - linuxarm64", os: windows-2022, java_arch: "x64", command: "build", config: "--noenable_bzlmod --config=linuxarm64", bazel_options: "--output_user_root=C:\\bazelroot", }
130+
- { name: "ubuntu - linuxarm64", os: ubuntu-22.04, java_arch: "x64", command: "build", config: "--noenable_bzlmod --config=linuxarm64", bazel_options: "", }
131+
- { name: "macos - linuxarm64", os: macos-14, java_arch: "aarch64", command: "build", config: "--noenable_bzlmod --config=linuxarm64", bazel_options: "", }
132+
133+
# Build bzlmod, linuxarm64
134+
- { name: "windows - bzlmod linuxarm64", os: windows-2022, java_arch: "x64", command: "build", config: "--enable_bzlmod --config=linuxarm64", bazel_options: "--output_user_root=C:\\bazelroot", }
135+
- { name: "ubuntu - bzlmod linuxarm64", os: ubuntu-22.04, java_arch: "x64", command: "build", config: "--enable_bzlmod --config=linuxarm64", bazel_options: "", }
136+
- { name: "macos - bzlmod linuxarm64", os: macos-14, java_arch: "aarch64", command: "build", config: "--enable_bzlmod --config=linuxarm64", bazel_options: "", }
137+
name: "Build - ${{ matrix.name }}"
138+
runs-on: ${{ matrix.os }}
139+
steps:
140+
- uses: actions/checkout@v4
141+
- uses: actions/setup-python@v5
142+
with: { python-version: '3.11' }
143+
- uses: actions/setup-java@v4
144+
with:
145+
distribution: 'zulu'
146+
java-version: 17
147+
architecture: ${{ matrix.java_arch }}
148+
- id: setup_build_buddy
149+
uses: ./.github/actions/setup-build-buddy
150+
with:
151+
token: ${{ secrets.BUILDBUDDY_API_KEY }}
152+
- name: Build and allow failure # TODO Sometimes symlinks don't get created correctly the first time around
153+
run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=ci || true
154+
working-directory: tests
155+
- name: Build
156+
run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=ci
157+
working-directory: tests

MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
module(
22
name = "bzlmodrio-ni",
3-
version = "2025.2.0",
3+
version = "2025.2.0.bcr1",
44
compatibility_level = 2025,
55
)
66

77
bazel_dep(name = "platforms", version = "0.0.9")
88
bazel_dep(name = "rules_cc", version = "0.0.9")
99
bazel_dep(name = "rules_java", version = "7.6.5")
10-
bazel_dep(name = "rules_bzlmodrio_toolchains", version = "2025-1.bcr1")
10+
bazel_dep(name = "rules_bzlmodrio_toolchains", version = "2025-1.bcr2")
1111

1212
setup_bzlmodrio_ni_cpp_dependencies = use_extension("//:maven_cpp_deps.bzl", "setup_bzlmodrio_ni_cpp_dependencies")
1313
use_repo(

private/cpp/chipobject/shared.BUILD.bazel

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ static_srcs = glob([
1313
"**/*.lib",
1414
"**/*.a"
1515
],
16-
exclude=["**/*jni.lib"]
16+
exclude=["**/*jni.lib"],
17+
allow_empty=True,
1718
)
1819
shared_srcs = glob([
1920
"**/*.dll",
2021
"**/*.so*",
2122
"**/*.dylib",
2223
],
23-
exclude=JNI_PATTERN + ["**/*.so.debug"]
24+
exclude=JNI_PATTERN + ["**/*.so.debug"],
25+
allow_empty = True,
2426
)
25-
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"])
27+
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"], allow_empty=True)
2628

2729
filegroup(
2830
name = "shared",

private/cpp/netcomm/shared.BUILD.bazel

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ static_srcs = glob([
1313
"**/*.lib",
1414
"**/*.a"
1515
],
16-
exclude=["**/*jni.lib"]
16+
exclude=["**/*jni.lib"],
17+
allow_empty=True,
1718
)
1819
shared_srcs = glob([
1920
"**/*.dll",
2021
"**/*.so*",
2122
"**/*.dylib",
2223
],
23-
exclude=JNI_PATTERN + ["**/*.so.debug"]
24+
exclude=JNI_PATTERN + ["**/*.so.debug"],
25+
allow_empty = True,
2426
)
25-
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"])
27+
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"], allow_empty=True)
2628

2729
filegroup(
2830
name = "shared",

private/cpp/runtime/shared.BUILD.bazel

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ static_srcs = glob([
1313
"**/*.lib",
1414
"**/*.a"
1515
],
16-
exclude=["**/*jni.lib"]
16+
exclude=["**/*jni.lib"],
17+
allow_empty=True,
1718
)
1819
shared_srcs = glob([
1920
"**/*.dll",
2021
"**/*.so*",
2122
"**/*.dylib",
2223
],
23-
exclude=JNI_PATTERN + ["**/*.so.debug"]
24+
exclude=JNI_PATTERN + ["**/*.so.debug"],
25+
allow_empty = True,
2426
)
25-
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"])
27+
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"], allow_empty=True)
2628

2729
filegroup(
2830
name = "shared",

private/cpp/visa/shared.BUILD.bazel

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ static_srcs = glob([
1313
"**/*.lib",
1414
"**/*.a"
1515
],
16-
exclude=["**/*jni.lib"]
16+
exclude=["**/*jni.lib"],
17+
allow_empty=True,
1718
)
1819
shared_srcs = glob([
1920
"**/*.dll",
2021
"**/*.so*",
2122
"**/*.dylib",
2223
],
23-
exclude=JNI_PATTERN + ["**/*.so.debug"]
24+
exclude=JNI_PATTERN + ["**/*.so.debug"],
25+
allow_empty = True,
2426
)
25-
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"])
27+
shared_jni_srcs = glob(JNI_PATTERN, exclude=["**/*.so.debug"], allow_empty=True)
2628

2729
filegroup(
2830
name = "shared",

private/non_bzlmod_dependencies/download_dependencies.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ def download_dependencies():
2626
# Roborio Toolchain
2727
http_archive(
2828
name = "rules_bzlmodrio_toolchains",
29-
sha256 = "559ff5ddc402dca6266a765770c3a65db23e2060c45355c57612737bcc592b78",
30-
url = "https://github.com/wpilibsuite/rules_bzlmodRio_toolchains/releases/download/2025-1.bcr1/rules_bzlmodRio_toolchains-2025-1.bcr1.tar.gz",
29+
sha256 = "ff25b5f9445cbd43759be4c6582b987d1065cf817c593eedc7ada1a699298c84",
30+
url = "https://github.com/wpilibsuite/rules_bzlmodRio_toolchains/releases/download/2025-1.bcr2/rules_bzlmodRio_toolchains-2025-1.bcr2.tar.gz",
3131
)
3232

3333
########################

private/non_bzlmod_dependencies/setup_dependencies.bzl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ def _setup_toolchains():
1212
"@local_roborio//:macos",
1313
"@local_roborio//:linux",
1414
"@local_roborio//:windows",
15-
"@local_raspi_bookworm_32//:macos",
16-
"@local_raspi_bookworm_32//:linux",
17-
"@local_raspi_bookworm_32//:windows",
15+
"@local_systemcore//:macos",
16+
"@local_systemcore//:linux",
17+
"@local_systemcore//:windows",
18+
"@local_raspi_bullseye_32//:macos",
19+
"@local_raspi_bullseye_32//:linux",
20+
"@local_raspi_bullseye_32//:windows",
1821
"@local_raspi_bookworm_32//:macos",
1922
"@local_raspi_bookworm_32//:linux",
2023
"@local_raspi_bookworm_32//:windows",

0 commit comments

Comments
 (0)