This workspace integrates multiple Eclipse Score modules (baselibs, communication, persistency, orchestrator, feo, etc.) to validate cross-repository builds and detect integration issues early in the development cycle.
The reference integration workspace serves as a single Bazel build environment to:
- Validate cross-module dependency graphs
- Detect label and repository boundary issues
- Test toolchain and platform support (Linux, QNX, LLVM/GCC)
- Prepare for release validation workflows
The following modules build successfully with the bl-x86_64-linux configuration:
bazel build --config bl-x86_64-linux @score_baselibs//score/... --verbose_failuresbazel build --config bl-x86_64-linux @score_communication//score/mw/com:com --verbose_failuresbazel build --config bl-x86_64-linux \
@score_persistency//src/cpp/src/... \
@score_persistency//src/rust/... \
--verbose_failuresNote: Python tests for
@score_persistencycannot be built from this integration workspace due to Bazel external repository visibility limitations. The pip extension and Python dependencies must be accessed within their defining module.
bazel build --config bl-x86_64-linux @score_orchestrator//src/...The examples that are aiming to showcase features provided by S-CORE are located in feature_showcase folder.
You can run them currently for host platform using --config bl-x86_64-linux.
Execute bazel query //feature_showcase/... to obtain list of targets that You can run.
bazel build --config bl-x86_64-linux @score_orchestrator//src/... --verbose_failuresIssue: Direct toolchain loading at BUILD:14
load("@score_toolchains_qnx//rules/fs:ifs.bzl", "qnx_ifs")
Resolution needed: Refactor to use proper toolchain resolution instead of direct load statements.
Issue: clang needs to be installed
sudo apt install clang
Resolution needed: why is this happening with -extra_toolchains=@gcc_toolchain//:host_gcc_12 ?
Module: score/mw/com/requirements
Issues when building from external repository:
- Label inconsistency: Some
BUILDfiles use@//third_partyinstead of//third_party(repository-qualified vs. local label). Should standardize on local labels within the module. - Outdated path reference:
runtime_test.cpp:get_pathchecks forsafe_posix_platform(likely obsolete module name) instead ofexternal/score_communication+/.
Test failures in src/cpp/tests:
- Dependency misconfiguration:
google_benchmarkshould not be a dev-only dependency if required by tests. Consider separating benchmark targets. - Compiler-specific issue in
test_kvs.cpp: Contains GCC-specific self-move handling that is incorrect and fails with GCC (only builds with LLVM). Needs portable fix or removal of undefined behavior.
The following builds are currently failing:
bazel build @feo//... --verbose_failuresbazel build --config bl-x86_64-linux @score_persistency//src/... --verbose_failuresInstall the following system packages before building FEO:
sudo apt-get update
sudo apt-get install -y protobuf-compiler libclang-dev- Add test targets once cross-repository visibility constraints are clarified
- Normalize third-party label usage across all
BUILDfiles - Resolve FEO build failures
- Fix Persistency full build
- Address compiler-specific issues in test suites
The starpls.bzl file (source) uses curl directly for downloading dependencies, which:
- Bypasses Bazel's managed fetch lifecycle and dependency tracking
- Breaks reproducibility and remote caching expectations
- May fail in corporate proxy-restricted environments
Use a local_path_override and configure proxy environment variables before building:
export http_proxy=http://127.0.0.1:3128
export https_proxy=http://127.0.0.1:3128
export HTTP_PROXY=http://127.0.0.1:3128
export HTTPS_PROXY=http://127.0.0.1:3128Add this to your MODULE.bazel:
local_path_override(module_name = "score_tooling", path = "../tooling")- Replace raw
curlcalls with Bazelhttp_archiveorrepository_ctx.downloadfor reproducibility. - Parameterize proxy usage via environment or Bazel config flags.
Use ./generate_rust_analyzer_support.sh to generate rust_analyzer settings that will let VS Code work.
Keep this file updated as integration issues are resolved. Prefer converting ad-hoc shell steps into Bazel rules or documented scripts under tools/ for repeatability.