Skip to content

#2470: Add service server/client POC - #2529

Open
Hiepiscus wants to merge 1 commit into
devonfw:mainfrom
Hiepiscus:2470-create-a-client-service-poc
Open

Hiepiscus wants to merge 1 commit into
devonfw:mainfrom
Hiepiscus:2470-create-a-client-service-poc

Conversation

@Hiepiscus

Copy link
Copy Markdown
Contributor

This PR fixes #2470

Implements a minimal PoC for a background service with read-only access to URL metadata and a client that delegates requests to it when the service is running, while falling back to local resolution otherwise.

Implemented changes:

  • ide service-server
  • ide service-get-version
  • IdeServiceServer
  • IdeServiceClient
  • IdeServiceProtocol
  • Request, Response, Operation

Testing instructions

  1. Open two terminals and run ./build-local.sh in both.
  2. Start the server using ide service-server.
  3. If you want to verify that the URL metadata is loaded, run ide --trace service-server.
  4. Verify that the server is listening on a port.
  5. In the second terminal, run ide service-get-version , for example ide service-get-version java.
  6. Verify that the latest version is returned.
  7. Stop the server and run ide service-get-version again.
  8. Verify that the output is the same as when the server was running.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat and not feature/921 fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summaries what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labelled
    with internal
  • You have not changed any dependency in pom.xml files or otherwise if runtime dependencies changed, you have updated our LICENSE.asciidoc
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

Checklist for tool commandlets

Have you added a new «tool» as commandlet? There are the following additional checks:

  • The tool can be installed automatically (during setup via settings) or via the commandlet call
  • The tool is isolated in its IDEasy project, see Sandbox Principle
  • The new tool is added to the table of tools in LICENSE.asciidoc
  • The new commandlet is a command-wrapper for «tool»
  • Proper help texts for all supported languages are added here
  • The new commandlet installs potential dependencies automatically
  • The variables «TOOL»_VERSION and «TOOL»_EDITION are honored by your commandlet
  • The new commandlet is tested on all platforms it is available for or tested on all platforms that are in scope of the linked issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

Create a client service PoC for reading URL metadata

1 participant