Skip to content
Merged
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
4 changes: 4 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ build --tool_java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17

build --@score_baselibs//score/json:base_library=nlohmann
build --@score_baselibs//score/mw/log/flags:KRemote_Logging=False

# ToDo: needed for "wrong" implicit dependencies
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not clear.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is related to a wrong dependency handling in other modules / modules we depend on (but I don't know which one tbh) so we still inherit dependencies to the "old" version of baselibs containing the - instead of _ in the name ... this is why we need to define for both the according flags for building

build --@score-baselibs//score/json:base_library=nlohmann
build --@score-baselibs//score/mw/log/flags:KRemote_Logging=False

Expand Down
23 changes: 18 additions & 5 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,24 @@ jobs:

- name: Extract Coverage for CPP Files
run: |
REPORT=$(find "$(bazel info output_path)" -type f -path '*/cpp/*/coverage.dat' | head -n1)
lcov \
--rc branch_coverage=1 \
--extract "$REPORT" '*.cpp' -o "${REPORT}.cpp" \
--output-file kvs_coverage.info
# ToDo: should work out of the box with bazel coverage (https://github.com/eclipse-score/toolchains_gcc/issues/21)
# run test binary to generate coverage data (*.gcda files). Manually
# since it is build already with the correct flags and the gcda ends
# up in a proper location
./bazel-bin/src/cpp/tests/test_kvs_cpp

# define some variables for easier usage
BASE_DIR="$(pwd)"
GCOV_TOOL="./bazel-persistency/external/score_toolchains_gcc++gcc+gcc_toolchain_gcc/bin/x86_64-unknown-linux-gnu-gcov"
BIN_DIR="./bazel-bin/src/cpp/"
OUT_FILE="lcov_coverage.info"
# capture coverage info
lcov --capture --directory "$BIN_DIR" --output-file "$OUT_FILE" --gcov-tool "$GCOV_TOOL" --base-directory "$BASE_DIR" --branch-coverage --ignore-errors mismatch --exclude "*/external/*"
# display summary
lcov --summary --rc branch_coverage=1 "$OUT_FILE"
# generate html report (for local inspection if needed)
# genhtml "$OUT_FILE" -o coverage_html --show-details --legend --function-coverage --branch-coverage
rm ${OUT_FILE}

- name: Bazel Benchmark
run: bazel run -c opt //:bm_kvs_cpp
49 changes: 21 additions & 28 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -46,28 +46,26 @@ rust.toolchain(
versions = ["1.85.0"],
)

# LLVM Toolchains Rules - host configuration
# bazel cc rules
bazel_dep(name = "rules_cc", version = "0.1.1")

bazel_dep(name = "toolchains_llvm", version = "1.2.0", dev_dependency = True)
#score gcc toolchain
bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency = False)

llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True)
llvm.toolchain(
cxx_standard = {"": "c++17"},
llvm_version = "19.1.0",
gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency = False)
gcc.toolchain(
sha256 = "8fa85c2a93a6bef1cf866fa658495a2416dfeec692e4246063b791abf18da083",
strip_prefix = "x86_64-unknown-linux-gnu",
url = "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.3/x86_64-unknown-linux-gnu_gcc12.tar.gz",
)
use_repo(llvm, "llvm_toolchain")
use_repo(llvm, "llvm_toolchain_llvm")
use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc")

register_toolchains(
"@llvm_toolchain//:all",
dev_dependency = True,
)
register_toolchains("@gcc_toolchain//:all")

## Bazel registry
# Module dependencies
bazel_dep(name = "googletest", version = "1.15.0")
bazel_dep(name = "google_benchmark", version = "1.9.4")
bazel_dep(name = "googletest", version = "1.17.0.bcr.1", dev_dependency = True)
bazel_dep(name = "google_benchmark", version = "1.9.4", dev_dependency = True)

## S-CORE bazel registry
# Checker rule for CopyRight checks/fixs
Expand Down Expand Up @@ -96,7 +94,7 @@ bazel_dep(name = "score_process", version = "1.1.0")
bazel_dep(name = "score_cli_helper", version = "0.1.2")

# Module deps
bazel_dep(name = "score-baselibs", version = "0.0.0")
bazel_dep(name = "score_baselibs", version = "0.1.2")

## additional settings / config
crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate")
Expand Down Expand Up @@ -132,23 +130,18 @@ git_override(
remote = "https://github.com/qorix-group/testing_tools.git",
)

# ToDo: `-`version needed still because of indirect dependency
bazel_dep(name = "score-baselibs", version = "", dev_dependency = True)
git_override(
module_name = "score_docs_as_code",
commit = "13ba715a95cfe85158b60d7f4748ba8e28895d8c",
remote = "https://github.com/eclipse-score/docs-as-code.git",
)

#bazel_dep on module 'rules_boost' has no version -> override needed
archive_override(
module_name = "rules_boost",
strip_prefix = "rules_boost-master",
urls = ["https://github.com/nelhage/rules_boost/archive/refs/heads/master.tar.gz"],
module_name = "score-baselibs",
commit = "06a27a163a2aa787e1b99f6b04feb00b413b3355",
remote = "https://github.com/eclipse-score/baselibs.git",
)

git_override(
module_name = "score-baselibs",
commit = "46923f5c4f302bd9feae0261588687aaf32e3c5c",
remote = "https://github.com/eclipse-score/baselibs.git",
module_name = "score_docs_as_code",
commit = "13ba715a95cfe85158b60d7f4748ba8e28895d8c",
remote = "https://github.com/eclipse-score/docs-as-code.git",
)

bazel_dep(name = "score_toolchains_rust", version = "0.1", dev_dependency = True)
Expand Down
8 changes: 4 additions & 4 deletions src/cpp/src/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ cc_library(
deps = [
":kvsvalue",
"//src/cpp/src/internal:error",
"@score-baselibs//score/filesystem:filesystem",
"@score-baselibs//score/json",
"@score-baselibs//score/mw/log",
"@score-baselibs//score/result:result",
"@score_baselibs//score/filesystem",
"@score_baselibs//score/json",
"@score_baselibs//score/mw/log",
"@score_baselibs//score/result",
],
)
4 changes: 2 additions & 2 deletions src/cpp/src/internal/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ cc_library(
"//src/cpp/tests:__pkg__",
],
deps = [
"@score-baselibs//score/result:result",
"@score_baselibs//score/result",
],
)

Expand All @@ -43,6 +43,6 @@ cc_library(
deps = [
":error",
"//src/cpp/src:kvsvalue",
"@score-baselibs//score/json",
"@score_baselibs//score/json",
],
)
2 changes: 2 additions & 0 deletions src/cpp/src/kvsvalue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
#ifndef SCORE_LIB_KVS_KVSVALUE_HPP
#define SCORE_LIB_KVS_KVSVALUE_HPP

#include <memory>
#include <optional>
#include <stdexcept>
#include <string>
#include <unordered_map>
#include <variant>
#include <vector>

namespace score::mw::per::kvs {
Expand Down
14 changes: 7 additions & 7 deletions src/cpp/tests/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ cc_test(
"//:kvs_cpp",
"//src/cpp/src/internal:kvs_helper",
"@googletest//:gtest_main",
"@score-baselibs//score/filesystem:filesystem",
"@score-baselibs//score/filesystem:mock",
"@score-baselibs//score/json:mock",
"@score-baselibs//score/result:result",
"@score_baselibs//score/filesystem",
"@score_baselibs//score/filesystem:mock",
"@score_baselibs//score/json:mock",
"@score_baselibs//score/result",
],
)

Expand All @@ -45,8 +45,8 @@ cc_test(
"//:kvs_cpp",
"//src/cpp/src/internal:kvs_helper",
"@google_benchmark//:benchmark",
"@score-baselibs//score/filesystem:filesystem",
"@score-baselibs//score/json",
"@score-baselibs//score/result:result",
"@score_baselibs//score/filesystem",
"@score_baselibs//score/json",
"@score_baselibs//score/result",
],
)
Loading