https://github.com/eclipsesource/papyrus-gefx-glsp
(PoC) Integration of Papyrus GEFx as a GLSP Server
https://github.com/eclipsesource/papyrus-gefx-glsp
Last synced: 4 months ago
JSON representation
(PoC) Integration of Papyrus GEFx as a GLSP Server
- Host: GitHub
- URL: https://github.com/eclipsesource/papyrus-gefx-glsp
- Owner: eclipsesource
- Created: 2019-04-19T09:51:26.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-18T11:11:21.000Z (about 7 years ago)
- Last Synced: 2026-01-13T18:26:43.643Z (7 months ago)
- Language: Java
- Size: 550 KB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Papyrus GEFx & GLSP (PoC) Integration
Example integration of an Eclipse/Papyrus/GEFx Server in GLSP.
This project also provides a simple (generic) GLSP Client
This is a proof-of-concept on how to integrate existing diagram technologies with the Graphical Language Server Protocol, to quickly get started with Web-based Diagrams.
This project depends on (and integrates):
- GLSP: https://github.com/eclipsesource/graphical-lsp
- Papyrus-GEFx: https://github.com/eclipsesource/papyrus-gefx
Indirect dependencies include:
- Eclipse: https://www.eclipse.org
- Eclipse Papyrus: https://www.eclipse.org/papyrus
- Eclipse GEF (5.x): https://www.eclipse.org/gef
- Eclipse Sprotty: https://github.com/eclipse/sprotty
- Eclipse Theia: https://www.theia-ide.org
The current version supports Opening and displaying a simple Papyrus-GEFx Diagram (e.g. Papyrus UML Class Diagram), and to Create, Move or Resize nodes in that diagram.
Because this project is a Proof of Concept, integrating 2 incubating components, there are many limitations making it unusable in practice. Especially, Papyrus-GEFx doesn't support headless runtime yet, which means the server can only be started from a complete Eclipse IDE Application.
Styling is not supported yet
Side-by-side comparison (Left: Web-based GLSP client; right: Papyrus-GEFx GLSP Server, started in the Eclipse IDE):

## How to build
### Client
The build requirements (Node, Yarn, Lerna...) are similar to GLSP; see https://github.com/eclipsesource/graphical-lsp
Once all the required tools are installed, you can build the client with:
```
cd ~Git/papyrus-gefx-glsp/client
yarn
```
And then start the client application with:
```
cd papyrus-gefx/browser-app
yarn start
```
### Server
```
cd ~Git/papyrus-gefx-glsp/server
mvn clean verify
```
The project currently doesn't provide any installable feature and can only be used from PDE