Skip to content

Commit 5165948

Browse files
committed
Bump communication to 0e064099 and adapt integration
Update score_communication to 0e0640998096049a8dd65a4173b03a988d5a85a7 and pull in the cascading dependency and toolchain changes required by it. Modules: - score_communication -> 0e064099 - score_tooling -> 7099e272 (needs component(target_compatible_with)) - add lobster git_override, bump trlc -> 8d25f639 (required by new tooling) Toolchain: - add LLVM/libclang toolchain (toolchains_llvm 1.8.0, llvm 19.1.7) used by the score_tooling C++ parser for communication code generation (bazel_common/score_llvm_libclang.MODULE.bazel, bazel/toolchains/BUILD, registered via .bazelrc --extra_toolchains) Flags: - tracing library flag moved from communication into baselibs: .bazelrc now sets @score_baselibs//score/analysis/tracing/generic_trace_library:implementation Patches: - 001-expose-comm-examples: rewritten to export the new rust example config - 003-module-deps-visibility: regenerated for the new MODULE.bazel - 002-tests-visibility and 004-tracing-library-target: removed (obsolete) Showcase: - migrate standalone comm showcase from the removed C++ ipc_bridge example to the rust com-api-example (BUILD, com.score.json, itf test_showcases.py)
1 parent c7210a2 commit 5165948

15 files changed

Lines changed: 1673 additions & 830 deletions

.bazelrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ build --tool_java_runtime_version=remotejdk_17
1616
build:_common --@score_baselibs//score/json:base_library=nlohmann
1717
build:_common --@score_baselibs//score/memory/shared/flags:use_typedshmd=False
1818
build:_common --@score_baselibs_rust//src/log:safety_level=qm
19-
build:_common --@score_communication//score/mw/com/flags:tracing_library=@score_baselibs//score/analysis/tracing/generic_trace_library/stub_implementation
19+
build:_common --@score_baselibs//score/analysis/tracing/generic_trace_library:implementation=@score_baselibs//score/analysis/tracing/generic_trace_library/stub_implementation
2020
build:_common --cxxopt=-Wno-error=mismatched-new-delete
2121
build:_common --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
2222
build:_common --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
2323
build:_common --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0
24+
build:_common --extra_toolchains=//bazel/toolchains:score_ref_int_libclang_toolchain
2425

2526
# Flags needed by datarouter
2627
build:_common --@score_logging//score/datarouter/build_configuration_flags:persistent_logging=False

MODULE.bazel

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ include("//bazel_common:score_qnx_toolchains.MODULE.bazel") # WIP: Not used yet
2626
# Rust toolchains
2727
include("//bazel_common:score_rust_toolchains.MODULE.bazel")
2828

29+
# LLVM/libclang toolchain (provides libclang for the score_tooling C++ parser)
30+
include("//bazel_common:score_llvm_libclang.MODULE.bazel")
31+
2932
# Python support
3033
include("//bazel_common:score_python.MODULE.bazel")
3134

@@ -67,6 +70,14 @@ bazel_dep(name = "score_rust_policies", version = "0.0.5")
6770
bazel_dep(name = "trlc")
6871
git_override(
6972
module_name = "trlc",
70-
commit = "650b51a47264a4f232b3341f473527710fc32669", # trlc-2.0.2 release
73+
commit = "8d25f639ff44976893d7866ba421a04db5698ebe",
7174
remote = "https://github.com/bmw-software-engineering/trlc.git",
7275
)
76+
77+
# Lobster dependency for requirements tracing (required by score_tooling)
78+
bazel_dep(name = "lobster", version = "0.0.0")
79+
git_override(
80+
module_name = "lobster",
81+
commit = "2792e2daee2cf524fdc7b1545fd3537791ebc36c",
82+
remote = "https://github.com/bmw-software-engineering/lobster.git",
83+
)

MODULE.bazel.lock

Lines changed: 1568 additions & 608 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bazel/toolchains/BUILD

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2026 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+
load("@score_tooling//cpp/libclang:libclang_toolchain.bzl", "libclang_toolchain")
14+
15+
# libclang toolchain for the score_tooling C++ parser. score_tooling deliberately
16+
# does not register a libclang toolchain for its consumers, so the reference
17+
# integration provides and registers its own (see .bazelrc --extra_toolchains).
18+
# It wraps the LLVM installation declared in
19+
# //bazel_common:score_llvm_libclang.MODULE.bazel.
20+
libclang_toolchain(
21+
name = "score_ref_int_libclang",
22+
cxx_builtin_include = "@llvm_toolchain_llvm//:cxx_builtin_include",
23+
extra_config_site = "@llvm_toolchain_llvm//:extra_config_site",
24+
libclang = "@llvm_toolchain_llvm//:lib/libclang.so",
25+
visibility = ["//visibility:public"],
26+
)
27+
28+
toolchain(
29+
name = "score_ref_int_libclang_toolchain",
30+
toolchain = ":score_ref_int_libclang",
31+
toolchain_type = "@score_tooling//cpp/libclang:libclang_toolchain_type",
32+
visibility = ["//visibility:public"],
33+
)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2026 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+
# LLVM is only used to provide libclang.so (and the matching C++ include
15+
# filegroups) for the score_tooling C++ parser used by score_communication's
16+
# code generation (lola_skeleton/lola_proxy/component targets). The LLVM C++
17+
# compiler toolchain is intentionally NOT registered here; C++ compilation
18+
# keeps using the GCC/QNX toolchains and libclang is wired up via the dedicated
19+
# libclang toolchain in //bazel/toolchains.
20+
bazel_dep(name = "toolchains_llvm", version = "1.8.0")
21+
22+
llvm = use_extension(
23+
"@toolchains_llvm//toolchain/extensions:llvm.bzl",
24+
"llvm",
25+
)
26+
llvm.toolchain(
27+
llvm_version = "19.1.7",
28+
)
29+
use_repo(llvm, "llvm_toolchain_llvm")

bazel_common/score_modules_target_sw.MODULE.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,11 @@ git_override(
3535
bazel_dep(name = "score_communication")
3636
git_override(
3737
module_name = "score_communication",
38-
commit = "b021eccf1d811625d21eeb493071c0c4f4f6243a",
38+
commit = "0e0640998096049a8dd65a4173b03a988d5a85a7",
3939
patch_strip = 1,
4040
patches = [
4141
"//patches/communication:001-expose-comm-examples.patch",
42-
"//patches/communication:002-tests-visibility.patch",
4342
"//patches/communication:003-module-deps-visibility.patch",
44-
"//patches/communication:004-tracing-library-target.patch",
4543
],
4644
remote = "https://github.com/eclipse-score/communication.git",
4745
)

bazel_common/score_modules_tooling.MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ git_override(
3131
bazel_dep(name = "score_tooling")
3232
git_override(
3333
module_name = "score_tooling",
34-
commit = "1159dcf9d35981ac4877265eff7a1e7a24452161",
34+
commit = "7099e272c3f6114bad17736debd54139601aedd4",
3535
remote = "https://github.com/eclipse-score/tooling.git",
3636
)
3737

feature_integration_tests/itf/test_showcases.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
logger = logging.getLogger(__name__)
1818

1919

20-
def test_ipc_bridge_cpp_app_is_deployed(target):
21-
exit_code, out = target.execute("test -f /showcases/bin/ipc_bridge_cpp")
20+
def test_com_api_example_app_is_deployed(target):
21+
exit_code, out = target.execute("test -f /showcases/bin/com-api-example")
2222
assert exit_code == 0
2323

2424

25-
def test_ipc_bridge_cpp_app_is_running(target):
25+
def test_com_api_example_app_is_running(target):
2626
exit_code, out = target.execute(
27-
"cd /showcases/data/comm; /showcases/bin/ipc_bridge_cpp -n 10 -t 100 -m send & /showcases/bin/ipc_bridge_cpp -n 5 -t 100 -m recv"
27+
"cd /showcases/data/comm; /showcases/bin/com-api-example -s /showcases/data/comm/etc/mw_com_config.json"
2828
)
2929
logger.info(out)
3030
assert exit_code == 0

known_good.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,10 @@
3939
},
4040
"score_communication": {
4141
"repo": "https://github.com/eclipse-score/communication.git",
42-
"hash": "b021eccf1d811625d21eeb493071c0c4f4f6243a",
42+
"hash": "0e0640998096049a8dd65a4173b03a988d5a85a7",
4343
"bazel_patches": [
4444
"//patches/communication:001-expose-comm-examples.patch",
45-
"//patches/communication:002-tests-visibility.patch",
46-
"//patches/communication:003-module-deps-visibility.patch",
47-
"//patches/communication:004-tracing-library-target.patch"
45+
"//patches/communication:003-module-deps-visibility.patch"
4846
],
4947
"metadata": {
5048
"code_root_path": "//score/mw/com/impl/...",
@@ -148,7 +146,7 @@
148146
},
149147
"score_tooling": {
150148
"repo": "https://github.com/eclipse-score/tooling.git",
151-
"hash": "1159dcf9d35981ac4877265eff7a1e7a24452161"
149+
"hash": "7099e272c3f6114bad17736debd54139601aedd4"
152150
},
153151
"score_platform": {
154152
"repo": "https://github.com/eclipse-score/score.git",
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
diff --git a/score/mw/com/example/ipc_bridge/BUILD b/score/mw/com/example/ipc_bridge/BUILD
2-
index 40c55ebd..b5ca9cbd 100644
3-
--- a/score/mw/com/example/ipc_bridge/BUILD
4-
+++ b/score/mw/com/example/ipc_bridge/BUILD
5-
@@ -24,7 +24,7 @@ cc_binary(
1+
diff --git a/score/mw/com/example/com-api-example/BUILD b/score/mw/com/example/com-api-example/BUILD
2+
index 91bfb109..b72591ca 100644
3+
--- a/score/mw/com/example/com-api-example/BUILD
4+
+++ b/score/mw/com/example/com-api-example/BUILD
5+
@@ -37,3 +37,7 @@ rust_test(
6+
"@score_communication_crate_index//:tokio",
67
],
7-
data = ["etc/mw_com_config.json"],
8-
features = COMPILER_WARNING_FEATURES,
9-
- visibility = ["//examples:__pkg__"],
10-
+ visibility = ["//visibility:public"],
11-
deps = [
12-
":sample_sender_receiver",
13-
"//score/mw/com",
8+
)
9+
+
10+
+exports_files([
11+
+ "etc/mw_com_config.json",
12+
+])

0 commit comments

Comments
 (0)