Skip to content

Commit

Permalink
Add styleguide infra, add other toolchains, format
Browse files Browse the repository at this point in the history
  • Loading branch information
pjreiniger committed Feb 6, 2023
1 parent ef5746b commit 672abc2
Show file tree
Hide file tree
Showing 30 changed files with 669 additions and 113 deletions.
20 changes: 19 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,28 @@ build:macos --copt=-std=c++20

# Roborio
build:roborio --copt=-std=c++20
build:roborio --platforms=@rules_roborio_toolchain//platforms/roborio
build:roborio --platforms=@rules_bzlmodrio_toolchains//platforms/roborio
build:roborio --build_tag_filters=-no-roborio
build:roborio --features=compiler_param_file

# bullseye32
build:bullseye32 --copt=-std=c++20
build:bullseye32 --platforms=@rules_bzlmodrio_toolchains//platforms/bullseye32
build:bullseye32 --build_tag_filters=-no-bullseye
build:bullseye32 --features=compiler_param_file

# bullseye64
build:bullseye64 --copt=-std=c++20
build:bullseye64 --platforms=@rules_bzlmodrio_toolchains//platforms/bullseye64
build:bullseye64 --build_tag_filters=-no-bullseye
build:bullseye64 --features=compiler_param_file

# rasppi
build:raspi32 --copt=-std=c++20
build:raspi32 --platforms=@rules_bzlmodrio_toolchains//platforms/raspi32
build:raspi32 --build_tag_filters=-no-raspi
build:raspi32 --features=compiler_param_file

# Global
import .bazelrc-buildbuddy
test --test_output=errors
Expand Down
59 changes: 51 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
name: "Build - ${{ matrix.name }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: bazel ${{ matrix.bazel_options }} build -k ${{ matrix.config }} --verbose_failures --config=remote //... @bzlmodrio-opencv//...
working-directory: tests
- run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=remote
Expand All @@ -32,17 +32,60 @@ jobs:
matrix:
include:
# Build standard, roborio
- { name: "windows - cross", os: windows-latest, command: "build", config: "--config=roborio", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - cross", os: ubuntu-latest, command: "build", config: "--config=roborio", bazel_options: "", }
- { name: "macos - cross", os: macos-latest, command: "build", config: "--config=roborio", bazel_options: "", }
- { name: "windows - roborio", os: windows-latest, command: "build", config: "--config=roborio", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - roborio", os: ubuntu-latest, command: "build", config: "--config=roborio", bazel_options: "", }
- { name: "macos - roborio", os: macos-latest, command: "build", config: "--config=roborio", bazel_options: "", }

# Build bzlmod, roborio
# - { name: "windows - bzlmod cross", os: windows-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bzlmod cross", os: ubuntu-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "", }
- { name: "macos - bzlmod cross", os: macos-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "", }
# - { name: "windows - bzlmod roborio", os: windows-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bzlmod roborio", os: ubuntu-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "", }
- { name: "macos - bzlmod roborio", os: macos-latest, command: "build", config: "--enable_bzlmod --config=roborio", bazel_options: "", }
name: "Build - ${{ matrix.name }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=remote
working-directory: tests

build_bullseye32:
strategy:
fail-fast: false
matrix:
include:
# Build standard, bullseye32
- { name: "windows - bullseye32", os: windows-latest, command: "build", config: "--config=bullseye32", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bullseye32", os: ubuntu-latest, command: "build", config: "--config=bullseye32", bazel_options: "", }
# - { name: "macos - bullseye32", os: macos-latest, command: "build", config: "--config=bullseye32", bazel_options: "", }

# Build bzlmod, bullseye32
# - { name: "windows - bzlmod bullseye32", os: windows-latest, command: "build", config: "--enable_bzlmod --config=bullseye32", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bzlmod bullseye32", os: ubuntu-latest, command: "build", config: "--enable_bzlmod --config=bullseye32", bazel_options: "", }
# - { name: "macos - bzlmod bullseye32", os: macos-latest, command: "build", config: "--enable_bzlmod --config=bullseye32", bazel_options: "", }
name: "Build - ${{ matrix.name }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=remote
working-directory: tests


build_bullseye64:
strategy:
fail-fast: false
matrix:
include:
# Build standard, bullseye32:
- { name: "windows - bullseye64", os: windows-latest, command: "build", config: "--config=bullseye64", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bullseye64", os: ubuntu-latest, command: "build", config: "--config=bullseye64", bazel_options: "", }
# - { name: "macos - bullseye64", os: macos-latest, command: "build", config: "--config=bullseye32", bazel_options: "", }

# Build bzlmod, bullseye32:
# - { name: "windows - bzlmod bullseye64", os: windows-latest, command: "build", config: "--enable_bzlmod --config=bullseye64", bazel_options: "--output_user_root=C:\\bazelroot", }
- { name: "ubuntu - bzlmod bullseye64", os: ubuntu-latest, command: "build", config: "--enable_bzlmod --config=bullseye64", bazel_options: "", }
# - { name: "macos - bzlmod bullseye64", os: macos-latest, command: "build", config: "--enable_bzlmod --config=bullseye64", bazel_options: "", }
name: "Build - ${{ matrix.name }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: bazel ${{ matrix.bazel_options }} ${{ matrix.command }} //... -k ${{ matrix.config }} --verbose_failures --config=remote
working-directory: tests
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
go-version: 1.15.x
id: go

- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Install Buildifier
run: |
Expand Down
12 changes: 4 additions & 8 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
module(
name = "bzlmodrio-opencv",
version = "4.6.0-4",
version = "4.6.0-4-1",
compatibility_level = 2023,
)

bazel_dep(name = "platforms", version = "0.0.4")
bazel_dep(name = "rules_java", version = "5.1.0")
bazel_dep(name = "platforms", version = "0.0.6")
bazel_dep(name = "rules_java", version = "5.4.0")
bazel_dep(name = "rules_bazelrio", version = "0.0.9")
bazel_dep(name = "rules_roborio_toolchain", version = "2023-7")
bazel_dep(name = "rules_bzlmodrio_toolchains", version = "2023-7")

setup_bzlmodrio_opencv_cpp_dependencies = use_extension("//:maven_cpp_deps.bzl", "setup_bzlmodrio_opencv_cpp_dependencies")
use_repo(
Expand Down Expand Up @@ -37,10 +37,6 @@ use_repo(
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxuniversaldebug",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxuniversalstatic",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxuniversalstaticdebug",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64debug",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64static",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64staticdebug",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_sources",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86",
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86-64",
Expand Down
12 changes: 9 additions & 3 deletions generate/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,29 @@
)
from bazelrio_gentool.clean_existing_version import clean_existing_version
from bazelrio_gentool.utils import TEMPLATE_BASE_DIR, render_template
from bazelrio_gentool.cli import add_generic_cli
import argparse


def main():
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
REPO_DIR = os.path.join(SCRIPT_DIR, "..")
output_dir = os.path.join(REPO_DIR, "libraries")

parser = argparse.ArgumentParser()
add_generic_cli(parser)
args = parser.parse_args()

group = get_opencv_dependencies()

mandatory_dependencies = create_default_mandatory_settings(
use_local_roborio=False,
use_local_bazelrio=False,
use_local_roborio=args.use_local_roborio,
use_local_bazelrio=args.use_local_bazelrio,
)

clean_existing_version(REPO_DIR)
generate_module_project_files(REPO_DIR, group, mandatory_dependencies)
generate_group(output_dir, group, force_tests=True)
generate_group(output_dir, group, force_tests=args.force_tests)


if __name__ == "__main__":
Expand Down
8 changes: 6 additions & 2 deletions generate/get_opencv_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ def _default_native_shared_platforms():
"linuxx86-64",
"osxarm64",
"osxuniversal",
"osxx86-64",
"windowsx86-64",
"windowsx86",
]
Expand Down Expand Up @@ -50,11 +49,16 @@ def _default_all_platforms():
def get_opencv_dependencies():
year = "2023"
version = "4.6.0-4"
patch = "-1"

group_id = f"edu.wpi.first.thirdparty.frc{year}.opencv"

group = DependencyContainer(
"bzlmodrio-opencv", version, year, "https://frcmaven.wpi.edu/release"
"bzlmodrio-opencv",
version,
year,
"https://frcmaven.wpi.edu/release",
patch=patch,
)
group.create_cc_dependency(
f"opencv-cpp",
Expand Down
28 changes: 0 additions & 28 deletions maven_cpp_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,6 @@ def __setup_bzlmodrio_opencv_cpp_dependencies(mctx):
sha256 = "4cf8bbf6760bebf474bee18a57d40e9d83c6888bac1abe1669116cc603b01e5b",
build_file_content = cc_library_shared,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64",
url = "https://frcmaven.wpi.edu/release/edu/wpi/first/thirdparty/frc2023/opencv/opencv-cpp/4.6.0-4/opencv-cpp-4.6.0-4-osxx86-64.zip",
sha256 = "edcb7e2c6b8088b770ca9ec050ed37ac2d0c89f22e5145c0b8ad7aea3a8bb22a",
build_file_content = cc_library_shared,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86-64",
Expand Down Expand Up @@ -193,13 +186,6 @@ def __setup_bzlmodrio_opencv_cpp_dependencies(mctx):
sha256 = "342405818d0f0a0d6528c0385ddd268805d36854d1e895c608d5b6953d2da0f1",
build_file_content = cc_library_static,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64static",
url = "https://frcmaven.wpi.edu/release/edu/wpi/first/thirdparty/frc2023/opencv/opencv-cpp/4.6.0-4/opencv-cpp-4.6.0-4-osxx86-64static.zip",
sha256 = "bebac3367bb9b3b24c3b76e98514f09ae4c109581f2df8da5233ab95b0118c3f",
build_file_content = cc_library_static,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86-64static",
Expand Down Expand Up @@ -249,13 +235,6 @@ def __setup_bzlmodrio_opencv_cpp_dependencies(mctx):
sha256 = "bccc8a0b5c695d077ba04aa90d35f2f43607c2424df11824f960a37d718b35ee",
build_file_content = cc_library_shared,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64debug",
url = "https://frcmaven.wpi.edu/release/edu/wpi/first/thirdparty/frc2023/opencv/opencv-cpp/4.6.0-4/opencv-cpp-4.6.0-4-osxx86-64debug.zip",
sha256 = "2427d5162771391337a0924ddb6c99e092c7f2705116b72a7907b3f7305be6de",
build_file_content = cc_library_shared,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86-64debug",
Expand Down Expand Up @@ -305,13 +284,6 @@ def __setup_bzlmodrio_opencv_cpp_dependencies(mctx):
sha256 = "4be1972406a676b184ca527a92bf8e72c19e58e14d6acd3a93e067c92ca6aeb5",
build_file_content = cc_library_static,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_osxx86-64staticdebug",
url = "https://frcmaven.wpi.edu/release/edu/wpi/first/thirdparty/frc2023/opencv/opencv-cpp/4.6.0-4/opencv-cpp-4.6.0-4-osxx86-64staticdebug.zip",
sha256 = "b00ff2fe09191b141fc9fc3079c5c5d0132f783671135ccce9f5cf1353d72380",
build_file_content = cc_library_static,
)
maybe(
http_archive,
"bazelrio_edu_wpi_first_thirdparty_frc_opencv_opencv-cpp_windowsx86-64staticdebug",
Expand Down
Loading

0 comments on commit 672abc2

Please sign in to comment.