Skip to content

First version of new API for Launch Manager - #377

Open
SimonKozik wants to merge 6 commits into
eclipse-score:mainfrom
etas-contrib:feature/new-public-api-for-lm
Open

First version of new API for Launch Manager#377
SimonKozik wants to merge 6 commits into
eclipse-score:mainfrom
etas-contrib:feature/new-public-api-for-lm

Conversation

@SimonKozik

Copy link
Copy Markdown
Contributor

First draft of new API for Launch Manager

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: be4cdf3d-a9a4-4482-a6fc-b6734432b48b
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (33 packages loaded, 10 targets configured)

Analyzing: target //:license-check (80 packages loaded, 10 targets configured)

Analyzing: target //:license-check (86 packages loaded, 10 targets configured)

Analyzing: target //:license-check (86 packages loaded, 10 targets configured)

Analyzing: target //:license-check (144 packages loaded, 2767 targets configured)

Analyzing: target //:license-check (153 packages loaded, 6739 targets configured)

Analyzing: target //:license-check (159 packages loaded, 8222 targets configured)

Analyzing: target //:license-check (159 packages loaded, 8222 targets configured)

Analyzing: target //:license-check (163 packages loaded, 10231 targets configured)

Analyzing: target //:license-check (164 packages loaded, 10351 targets configured)

INFO: Analyzed target //:license-check (169 packages loaded, 10409 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions running)
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
[16 / 16] no actions running
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 26.473s, Critical Path: 2.42s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@paulquiring

Copy link
Copy Markdown
Contributor

It looks like it could work. To see if this if this is the right fit in combination with score::mw::com a test would be good before we switch to this.

@paulquiring
paulquiring self-requested a review July 29, 2026 05:29
@pawelrutkaq
pawelrutkaq self-requested a review July 29, 2026 08:30
@NicolasFussberger

Copy link
Copy Markdown
Contributor

It looks like it could work. To see if this if this is the right fit in combination with score::mw::com a test would be good before we switch to this.

I like this suggestion. Would it be possible to add a dummy details/lm_controlimpl.hpp with a test that just shows how the API interaction would look like from the users perspective?

Comment thread score/launch_manager/src/lm_control/src/fixed_string.hpp
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp Outdated
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp

@pawelrutkaq pawelrutkaq left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would fix most of descriptions as they are bloated


/// @brief Factory method — create a connected ILmControl instance.
///
/// Establishes the mw::com connection to the Launch Manager.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd say interface shall be silent about internals (in this case mw::com)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure how we can avoid that...

The instance_specifier param has to be the mw::com instance specifier and additionally, there is also requirement that mw::com has to be initialized by the user, before this method is called.

Do you have a proposal in mind?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@NicolasFussberger why do we expose mw::com instance specifier to the user ? This means we expose the service definition to the user. It feels like you can put any name here - did i miss something that mw_com in no longer internal communication channel ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As far as I know the instance specifier name passed here has to be defined in the mw::com config file.
So it would be either the user can pass it to the API,
or we would need to use a hardcoded name and documentation tells the user to configure exactly this name in the mw::com config file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I would say we need more time to experiment on how this should be configured.
We can find solution later when we have more experience with mw::com

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It has to be passed, but it shall be internal inho. This string connects to EXACT declaration of service type and its instance. So we shall provide an "mw_com_config fragment" with opur definition which user shall put into its json file until mw_com will not solve the issue of multiple configs. But exposing this to user sounds like bad idea.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this interface then be marked WIP somehow that its probably going to change? or we remove this immediately, really (i prefer second option)

Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp Outdated
Comment thread score/launch_manager/src/lm_control/src/ilm_control.hpp
FScholPer
FScholPer previously approved these changes Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

6 participants