Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 16 additions & 23 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -15,53 +15,46 @@ build --java_language_version=17
build --tool_java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build

test --test_tag_filters=-manual
test --test_output=errors
build --incompatible_strict_action_env
build --experimental_retain_test_configuration_across_testonly #https://github.com/bazelbuild/bazel/issues/6842

# Common flags for all builds
common --@score_baselibs//score/memory/shared/flags:use_typedshmd=False
common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
common --@score_baselibs//score/json:base_library=nlohmann

common --//score/datarouter/build_configuration_flags:persistent_logging=False
common --//score/datarouter/build_configuration_flags:persistent_config_feature_enabled=False
common --//score/datarouter/build_configuration_flags:enable_nonverbose_dlt=False
common --//score/datarouter/build_configuration_flags:enable_dynamic_configuration_in_datarouter=False
common --//score/datarouter/build_configuration_flags:dlt_file_transfer_feature=False
common --//score/datarouter/build_configuration_flags:use_local_vlan=True

build --incompatible_strict_action_env
test --test_tag_filters=-manual
test --test_output=errors
build --experimental_retain_test_configuration_across_testonly #https://github.com/bazelbuild/bazel/issues/6842

common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build
common:linux_x86_64_gcc --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
common:linux_x86_64_gcc --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0-posix
common:linux_x86_64_gcc --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu

# Base QNX config (shared flags)
common:qnx --host_platform=@score_bazel_platforms//:x86_64-linux
common:qnx --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py
common:qnx --sandbox_writable_path=/var/tmp

build:build_qnx8 --platforms=@score_bazel_platforms//:arm64-qnx8_0
build:build_qnx8 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64
build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64
build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_nto_qnx800

common:qnx_x86_64 --config=qnx
common:qnx_x86_64 --platforms=@score_bazel_platforms//:x86_64-qnx8_0
common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64
common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_x86_64
common:qnx_x86_64 --platforms=@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix
common:qnx_x86_64 --extra_toolchains=@score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0-posix
common:qnx_x86_64 --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_pc_nto_qnx800

common:qnx_arm64 --config=qnx
common:qnx_arm64 --platforms=@score_bazel_platforms//:arm64-qnx8_0
common:qnx_arm64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64
common:qnx_arm64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64
common:qnx_arm64 --platforms=@score_bazel_platforms//:aarch64-qnx-sdp_8.0.0-posix
common:qnx_arm64 --extra_toolchains=@score_qcc_aarch64_toolchain//:aarch64-qnx-sdp_8.0.0-posix
common:qnx_arm64 --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_nto_qnx800

common:x86_64-qnx --config=qnx_x86_64
common:arm64-qnx --config=qnx_arm64

common --extra_toolchains=@gcc_toolchain//:host_gcc_12
common --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
common:x86_64-linux --config=linux_x86_64_gcc

# With this instrumentation filter for our two main components, we ensure that `bazel coverage //...` is yielding the correct results
coverage --instrumentation_filter="^//score/datarouter[/:],^//score/mw/log[/:],-//score/mw/.*/test[/:]"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ jobs:

- name: Build with Bazel
run: |
bazel build //...
bazel build --config x86_64-linux //...
67 changes: 34 additions & 33 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# *******************************************************************************
module(
name = "score_logging",
version = "0.0.3",
version = "0.0.0",
compatibility_level = 0,
)

Expand All @@ -26,38 +26,21 @@ bazel_dep(name = "buildifier_prebuilt", version = "7.3.1")
bazel_dep(name = "platforms", version = "1.0.0")

# S-CORE process rules
bazel_dep(name = "score_bazel_platforms", version = "0.0.3")
bazel_dep(name = "score_bazel_platforms", version = "0.0.4")
bazel_dep(name = "score_docs_as_code", version = "2.2.0")
bazel_dep(name = "score_tooling", version = "1.0.4")
bazel_dep(name = "score_tooling", version = "1.1.0")
bazel_dep(name = "score_rust_policies", version = "0.0.3")

bazel_dep(name = "score_process", version = "1.4.0", dev_dependency = True)
bazel_dep(name = "score_platform", version = "0.5.1", dev_dependency = True)

# Toolchains and extensions
bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency = True)
bazel_dep(name = "score_toolchains_qnx", version = "0.0.6", dev_dependency = True)
bazel_dep(name = "score_bazel_cpp_toolchains", version = "0.2.2", dev_dependency = True)
bazel_dep(name = "score_toolchains_rust", version = "0.4.0", dev_dependency = True)

# S-CORE crates
bazel_dep(name = "score_crates", version = "0.0.6")

# Overrides
git_override(
module_name = "score_tooling",
commit = "612d6f180a9bb6338de5f0e6667fcf83068d9c37", #until 1.0.5 is released
remote = "https://github.com/eclipse-score/tooling.git",
)

# Extensions

gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency = True)
gcc.toolchain(
sha256 = "457f5f20f57528033cb840d708b507050d711ae93e009388847e113b11bf3600",
strip_prefix = "x86_64-unknown-linux-gnu",
url = "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/0.0.1/x86_64-unknown-linux-gnu_gcc12.tar.gz",
)

# TRLC dependency for requirements traceability
bazel_dep(name = "trlc", version = "0.0.0", dev_dependency = True)
git_override(
Expand All @@ -66,13 +49,35 @@ git_override(
remote = "https://github.com/bmw-software-engineering/trlc.git",
)

use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc")

toolchains_qnx = use_extension("@score_toolchains_qnx//:extensions.bzl", "toolchains_qnx", dev_dependency = True)
toolchains_qnx.sdp(
sha256 = "f2e0cb21c6baddbcb65f6a70610ce498e7685de8ea2e0f1648f01b327f6bac63",
strip_prefix = "installation",
url = "https://www.qnx.com/download/download/79858/installation.tgz",
gcc = use_extension("@score_bazel_cpp_toolchains//extensions:gcc.bzl", "gcc", dev_dependency = True)
gcc.toolchain(
name = "score_qcc_aarch64_toolchain",
sdp_version = "8.0.0",
target_cpu = "aarch64",
target_os = "qnx",
use_default_package = True,
version = "12.2.0",
)
gcc.toolchain(
name = "score_gcc_x86_64_toolchain",
target_cpu = "x86_64",
target_os = "linux",
use_default_package = True,
version = "12.2.0",
)
gcc.toolchain(
name = "score_qcc_x86_64_toolchain",
sdp_version = "8.0.0",
target_cpu = "x86_64",
target_os = "qnx",
use_default_package = True,
version = "12.2.0",
)
use_repo(
gcc,
"score_gcc_x86_64_toolchain",
"score_qcc_aarch64_toolchain",
"score_qcc_x86_64_toolchain",
)

PYTHON_VERSION = "3.12"
Expand All @@ -84,10 +89,6 @@ python.toolchain(
)
use_repo(python)

use_repo(toolchains_qnx, "toolchains_qnx_sdp")
use_repo(toolchains_qnx, "toolchains_qnx_qcc")
use_repo(toolchains_qnx, "toolchains_qnx_ifs")

# C++ dependencies

bazel_dep(name = "googletest", version = "1.17.0.bcr.1")
Expand All @@ -108,4 +109,4 @@ git_override(

# Rust dependencies

bazel_dep(name = "score_baselibs_rust", version = "0.0.3")
bazel_dep(name = "score_baselibs_rust", version = "0.0.5")
29 changes: 15 additions & 14 deletions score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,20 +79,21 @@ TEST(DltProtocolTest, PackageFileDataShallWriteDataCorrectlyWithCorrectData)
}

// Kindly, check the code, inside the "PackageFileData" method for the reasons of disabling this test.
TEST(DltProtocolTest, DISABLED_PackageFileDataShallReturnsNulloptIfItWorkedOnAlreadyClosedFile)
{
std::array<char, BUFFER_SIZE> buffer{};
auto data_span = score::cpp::span<char>{buffer.data(), buffer.size()};
const uint32_t serial_number{0U};
const uint32_t pkg_number{0};

FILE* file = fopen(FILE_NAME.c_str(), "rb");
ASSERT_TRUE(file != nullptr) << "The file used in the unit test is missed! The file: " << FILE_NAME;
fclose(file); // Close the file immediately.

auto result = PackageFileData(data_span, file, serial_number, pkg_number);
EXPECT_EQ(result, std::nullopt);
}
// Commented out test to avoid build failure due to use `file` after close compiler error
// TEST(DltProtocolTest, DISABLED_PackageFileDataShallReturnsNulloptIfItWorkedOnAlreadyClosedFile)
// {
// std::array<char, BUFFER_SIZE> buffer{};
// auto data_span = score::cpp::span<char>{buffer.data(), buffer.size()};
// const uint32_t serial_number{0U};
// const uint32_t pkg_number{0};

// FILE* file = fopen(FILE_NAME.c_str(), "rb");
// ASSERT_TRUE(file != nullptr) << "The file used in the unit test is missed! The file: " << FILE_NAME;
// fclose(file); // Close the file immediately.

// auto result = PackageFileData(data_span, file, serial_number, pkg_number);
// EXPECT_EQ(result, std::nullopt);
// }

TEST(DltProtocolTest, PackageFileEndShallReturnsNulloptIftheBufferSizeIsSmallerThanTheDataSize)
{
Expand Down
7 changes: 3 additions & 4 deletions score/mw/log/rust/score_log_bridge/examples/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,8 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//

// *******************************************************************************
use score_log::{debug, error, fatal, info, trace, warn, Log};
use score_log_bridge::ScoreLogBridgeBuilder;
use std::path::PathBuf;
Expand Down
7 changes: 3 additions & 4 deletions score/mw/log/rust/score_log_bridge/src/ffi.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,8 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//

// *******************************************************************************
use core::alloc::Layout;
use core::cmp::min;
use core::ffi::c_char;
Expand Down
6 changes: 3 additions & 3 deletions score/mw/log/rust/score_log_bridge/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,7 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//
// *******************************************************************************

//! C++-based backend for `score_log`.

Expand Down
6 changes: 3 additions & 3 deletions score/mw/log/rust/score_log_bridge/src/score_log_bridge.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,7 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//
// *******************************************************************************

//! C++-based logger implementation

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,7 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//
// *******************************************************************************

//! Module contains functions printing example logs.
//! Based on `//score/mw/log/rust/score_log_bridge:example`.
Expand Down
7 changes: 3 additions & 4 deletions score/mw/log/rust/score_log_bridge_cpp_init/ffi.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright (c) 2025 Contributors to the Eclipse Foundation
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
Expand All @@ -9,8 +9,7 @@
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
//

// *******************************************************************************
use core::ffi::c_char;
use core::slice::from_raw_parts;
use score_log_bridge::ScoreLogBridgeBuilder;
Expand Down
12 changes: 12 additions & 0 deletions tests/rust/test_main.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
// *******************************************************************************
// Copyright (c) 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available under the
// terms of the Apache License Version 2.0 which is available at
// <https://www.apache.org/licenses/LICENSE-2.0>
//
// SPDX-License-Identifier: Apache-2.0
// *******************************************************************************
#[test]
fn test_hello() {
assert_eq!(2 + 2, 4);
Expand Down
Loading