You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Release v0.6 - bump modules' versions
* remove feo, update README
* codeql: fix cloning tags
* fix logging repo url
* new patch with unique name
* fix: cache issues with unit tests
* exlude coding standards from codeql
* bump score platform with hash of the release until in registry
* final version tags - comm and platform
* patch communication link in release notes
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.
3
+
This workspace integrates multiple Eclipse Score modules (baselibs, communication, persistency, orchestrator, etc.) to validate cross-repository builds and detect integration issues early in the development cycle.
4
4
5
5
## Overview
6
6
7
7
The reference integration workspace serves as a single Bazel build environment to:
8
+
8
9
- Validate cross-module dependency graphs
9
10
- Detect label and repository boundary issues
10
11
- Test toolchain and platform support (Linux, QNX, LLVM/GCC)
11
12
- Prepare for release validation workflows
12
13
13
-
14
14
## Get started
15
15
16
16
Simply run `./score_starter` and select which integration You want to run. Once running, You will be guided by our welcome cli to run selected examples.
@@ -20,48 +20,56 @@ Simply run `./score_starter` and select which integration You want to run. Once
20
20
Intention for each folder is described below
21
21
22
22
### bazel_common
23
+
23
24
Used to keep a common bazel functionalities for `images` like:
25
+
24
26
- toolchain setups
25
27
- common tooling deps
26
28
- common S-CORE modules deps
27
29
- common `.bzl` extensions needed to streamline images
28
30
29
-
30
31
### showcases
32
+
31
33
Used to keep `S-CORE` wide **showcases** implementation to showcase S-CORE in certain deployments (images). Contains:
34
+
32
35
- proxy target bundling all `standalone` examples from all `S-CORE` repos to deploy then as single bazel target into image
33
36
- implementation of certain **showcases** that shall be deployed into images
34
37
35
38
#### cli
36
39
37
-
Contains a CLI tool to be used on runner that is showcasing the S-CORE functionality. It will provide superior user experience and will guide user to run examples.
38
-
How to use it in Your image, look [here](./showcases/cli/README.md)
40
+
Contains a CLI tool to be used on runner that is showcasing the S-CORE functionality. It will provide superior user experience and will guide user to run examples.
41
+
How to use it in Your image, look [here](./showcases/cli/README.md)
39
42
40
43
### images
44
+
41
45
Used to keep concrete `images` for given target platform as bazel modules. Each platform shall have it's own folder with name `{platform}_{arch}` ie. `qnx_aarch64`.
42
46
43
47
This `images` shall:
44
-
- deploy all `showcases` into image so they can be run inside
45
-
- other specific code for given `image`
48
+
49
+
- deploy all `showcases` into image so they can be run inside
50
+
- other specific code for given `image`
46
51
47
52
### runners
53
+
48
54
Used to keep thin logic ro reuse `runners` between images, like docker runner etc.
49
55
50
56
## Docs
51
57
52
58
To generate a full documentation of all integrated modules, run:
59
+
53
60
```bash
54
61
bazel run //:docs_combo_experimental
55
62
```
63
+
56
64
## Operating system integrations
57
65
58
66
> [!NOTE]
59
67
> Please refer to the README documents in the respective sub-directories for details about the specific integration.
60
68
61
-
*[QNX](./images/qnx_x86_64//README.md)
62
-
*[Red Hat AutoSD](./images/autosd_x86_64/build/README.md)
63
-
*[Elektrobit corbos Linux for Safety Applications](./images/ebclfsa_aarch64/README.md)
64
-
*[Linux x86_64]()
69
+
-[QNX](./images/qnx_x86_64//README.md)
70
+
-[Red Hat AutoSD](./images/autosd_x86_64/build/README.md)
71
+
-[Elektrobit corbos Linux for Safety Applications](./images/ebclfsa_aarch64/README.md)
72
+
-Linux x86_64
65
73
66
74
## Workspace support
67
75
@@ -73,48 +81,33 @@ This helps with cross-module development, debugging, and generally "trying out t
73
81
> You can do this manually as well, of course (e.g. if you do not use the devcontainer).
74
82
> Take a look at `.devcontainer/prepare_workspace.sh`, which contains the setup script.
75
83
76
-
> [!NOTE]
77
-
> Not all Bazel targets are supported yet.
78
-
> Running `./scripts/integration_test.sh` will work, though.
79
-
> Take a look at the [Known Issues](#known-issues-️) below to see which Bazel targets are available and working.
80
-
81
-
The supported workspace managers are:
82
-
83
-
| Name | Description |
84
-
|------|-------------|
85
-
|[Gita](https://github.com/nosarthur/gita)| "a command-line tool to manage multiple git repos" |
86
-
87
-
A description of how to use these workspace managers, together with their advantages and drawbacks, is beyond the scope of this document.
88
-
In case of doubt, choose the first.
89
-
90
84
### Initialization of the workspace
91
85
92
-
> [!WARNING]
93
-
> This will change the file `score_modules.MODULE.bazel`.
94
-
> Do **not** commit these changes!
95
-
96
86
1. Switch to local path overrides, using the VSCode Task (`Terminal`->`Run Task...`) "Switch Bazel modules to `local_path_overrides`".
97
87
Note that you can switch back to `git_overrides` (the default) using the task "Switch Bazel modules to `git_overrides`"
**Resolution needed:** Refactor to use proper toolchain resolution instead of direct load statements.
133
-
134
-
**Issue:** clang needs to be installed
135
-
```
136
-
sudo apt install clang
137
-
```
138
-
**Resolution needed:** why is this happening with -extra_toolchains=@gcc_toolchain//:host_gcc_12 ?
139
-
140
120
### Communication
121
+
141
122
**Module:**`score/mw/com/requirements`
142
123
143
124
**Issues when building from external repository:**
125
+
144
126
1.**Label inconsistency:** Some `BUILD` files use `@//third_party` instead of `//third_party` (repository-qualified vs. local label). Should standardize on local labels within the module.
145
127
2.**Outdated path reference:**`runtime_test.cpp:get_path` checks for `safe_posix_platform` (likely obsolete module name) instead of `external/score_communication+/`.
146
128
147
-
### Persistency
148
-
**Test failures in `src/cpp/tests`:**
149
-
1.**Dependency misconfiguration:**`google_benchmark` should not be a dev-only dependency if required by tests. Consider separating benchmark targets.
150
-
2.**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.
- Replace raw `curl` calls with Bazel `http_archive` or `repository_ctx.download` for reproducibility.
210
-
- Parameterize proxy usage via environment or Bazel config flags.
211
-
212
169
## IDE support
213
170
214
171
### Rust
215
172
216
173
Use `scripts/generate_rust_analyzer_support.sh` to generate rust_analyzer settings that will let VS Code work.
217
-
218
-
## 🗂 Notes
219
-
Keep this file updated as integration issues are resolved. Prefer converting ad-hoc shell steps into Bazel rules or documented scripts under `scripts/` for repeatability.
0 commit comments