Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial version of a Webprotocol based EngineAddon server #264

Merged
merged 9 commits into from
Apr 27, 2022

Conversation

dvojtise
Copy link
Contributor

@dvojtise dvojtise commented Apr 8, 2022

Description

  • Add a new IEngineAddon that implements the IEngineAddon api as a web protocol. (org.eclipse.gemoc.executionframework.addon.eaop.server)
  • Add a new Websocket server plugin allowing to easily offer websocket endpoint from Eclipse. (org.eclipse.gemoc.ws.server and org.eclipse.gemoc.commons.utils)
  • Add an JSONSchema to protocol generator. (protocols/generators/ts/JSONSchema2APIProtocolGenerator) it is able to generate java API, Typescript API, plantuml description from the schema.
  • Add EAOP (Engine AddOn Protocol) definition and generated Java and TS API, (protocols/engine_addon_protocol)
  • Updated documentation with content generated from the protocols
  • Bump tycho to 2.7.0
  • Add Jetty 10 in the studio (directly from maven central as there is no update site providing it)
  • Add support for mapstruct in order to deal with DTO mappings.

Current limitations:

  • The protocol is still incomplete, the events are currently implemented as notification (ie. non blocking)

Current protocol:
image

Changes

  • removed use of tdp. Replaced by direct edition of the .targetplatform file (and using 0.0.0 versions in it ) This is required to use the new support of maven central artefact in targetplatform files (cf. https://www.modumind.com/2021/01/11/including-maven-artifacts-in-an-eclipse-rcp-target-platform/) (if tdp tooling receive an update we will consider reusing it)
  • Add org.eclipse.gemoc.gemoc_studio.targetplatform/gemoc_studio_dev.target for convenient development : it allows developing the GEMOC studio on any eclipse by using latest GEMOC studio update site as a base and without having to import all gemoc projects in the workspace. The other file gemoc_studio_dev.target on the other hand is dedicated to the build. ie. it only imports external dependencies.

Contribution to issues

Some content in this PR actually comes from earlier works that wasn't ready for deployment (cf. eclipse-gemoc/gemoc-studio-modeldebugging#169) (for example the org.eclipse.gemoc.ws.server and some other component

Companion Pull Requests

  • PR #

@dvojtise dvojtise merged commit c5a36f6 into eclipse-gemoc:master Apr 27, 2022
@dvojtise dvojtise deleted the engineaddon_protocol_jetty10 branch April 28, 2022 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant