|
| 1 | +# ******************************************************************************* |
| 2 | +# Copyright (c) 2025 Contributors to the Eclipse Foundation |
| 3 | +# |
| 4 | +# See the NOTICE file(s) distributed with this work for additional |
| 5 | +# information regarding copyright ownership. |
| 6 | +# |
| 7 | +# This program and the accompanying materials are made available under the |
| 8 | +# terms of the Apache License Version 2.0 which is available at |
| 9 | +# https://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +# |
| 11 | +# SPDX-License-Identifier: Apache-2.0 |
| 12 | +# ******************************************************************************* |
| 13 | + |
| 14 | +module( |
| 15 | + name = "score_reference_integration", |
| 16 | + version = "0.0.0", |
| 17 | + compatibility_level = 0, |
| 18 | +) |
| 19 | + |
| 20 | +include("//:score_modules.MODULE.bazel") |
| 21 | + |
| 22 | +# for building documentation, verifying traceability etc. |
| 23 | +bazel_dep(name = "score_platform", version = "0.3.0") |
| 24 | +bazel_dep(name = "score_bazel_platforms", version = "0.0.2") |
| 25 | + |
| 26 | +# QNX toolchain |
| 27 | +bazel_dep(name = "score_toolchains_qnx", version = "0.0.2") |
| 28 | +toolchains_qnx = use_extension("@score_toolchains_qnx//:extensions.bzl", "toolchains_qnx") |
| 29 | +toolchains_qnx.sdp( |
| 30 | + sha256 = "f2e0cb21c6baddbcb65f6a70610ce498e7685de8ea2e0f1648f01b327f6bac63", |
| 31 | + strip_prefix = "installation", |
| 32 | + url = "https://www.qnx.com/download/download/79858/installation.tgz", |
| 33 | +) |
| 34 | +use_repo(toolchains_qnx, "toolchains_qnx_sdp") |
| 35 | +use_repo(toolchains_qnx, "toolchains_qnx_qcc") |
| 36 | + |
| 37 | +#gcc toolchain for baselibs |
| 38 | +bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency=False) |
| 39 | +gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency=False) |
| 40 | +gcc.toolchain( |
| 41 | + url = "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/0.0.1/x86_64-unknown-linux-gnu_gcc12.tar.gz", |
| 42 | + sha256 = "457f5f20f57528033cb840d708b507050d711ae93e009388847e113b11bf3600", |
| 43 | + strip_prefix = "x86_64-unknown-linux-gnu", |
| 44 | +) |
| 45 | +gcc.extra_features( |
| 46 | + features = [ |
| 47 | + "minimal_warnings", |
| 48 | + "treat_warnings_as_errors", |
| 49 | + ], |
| 50 | +) |
| 51 | +gcc.warning_flags( |
| 52 | + minimal_warnings = ["-Wall", "-Wno-error=deprecated-declarations", "-Wno-error=narrowing"], |
| 53 | + strict_warnings = ["-Wextra", "-Wpedantic"], |
| 54 | + treat_warnings_as_errors = ["-Werror"], |
| 55 | +) |
| 56 | +use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc") |
| 57 | +register_toolchains("@gcc_toolchain//:all") |
| 58 | + |
| 59 | +# LLVM Toolchains |
| 60 | +bazel_dep(name = "toolchains_llvm", version = "1.2.0") # persistency module uses 1.2.0 and does not work with 1.4.0 yet |
| 61 | +llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm") |
| 62 | +llvm.toolchain( |
| 63 | + cxx_standard = {"": "c++17"}, |
| 64 | + llvm_version = "19.1.0", |
| 65 | +) |
| 66 | +use_repo(llvm, "llvm_toolchain") |
| 67 | +use_repo(llvm, "llvm_toolchain_llvm") |
| 68 | + |
| 69 | +register_toolchains("@llvm_toolchain//:all") |
| 70 | + |
| 71 | +## needed additions to build |
| 72 | +bazel_dep(name = "testing-utils") |
| 73 | +git_override( |
| 74 | + module_name = "testing-utils", |
| 75 | + commit = "a847c7464cfa47e000141631d1223b92560d2e58", # tag v0.2.0 |
| 76 | + remote = "https://github.com/qorix-group/testing_tools.git", |
| 77 | +) |
| 78 | + |
| 79 | +# # TODO: What is this for? |
| 80 | +archive_override( |
| 81 | + module_name = "rules_boost", |
| 82 | + strip_prefix = "rules_boost-master", |
| 83 | + urls = ["https://github.com/nelhage/rules_boost/archive/refs/heads/master.tar.gz"], |
| 84 | +) |
| 85 | + |
| 86 | +# # TODO: we cannot use communication without including TRLC here? |
| 87 | +bazel_dep(name = "trlc", version = "0.0.0") |
| 88 | +git_override( |
| 89 | + module_name = "trlc", |
| 90 | + remote = "https://github.com/bmw-software-engineering/trlc.git", |
| 91 | + commit = "650b51a47264a4f232b3341f473527710fc32669", # trlc-2.0.2 release |
| 92 | +) |
| 93 | + |
| 94 | +# System/Basics |
| 95 | + |
| 96 | +## Python |
| 97 | +bazel_dep(name = "rules_python", version = "1.4.1") |
| 98 | + |
| 99 | +PYTHON_VERSION = "3.12" |
| 100 | + |
| 101 | +python = use_extension("@rules_python//python/extensions:python.bzl", "python") |
| 102 | +python.toolchain( |
| 103 | + configure_coverage_tool = True, |
| 104 | + is_default = True, |
| 105 | + python_version = PYTHON_VERSION, |
| 106 | +) |
| 107 | +use_repo(python) |
0 commit comments