eclipse-cdt-cloud / cdt-cloud-blueprint

CDT Cloud Blueprint is a template for building custom web-based C/C++ tools. It is made up of existing open source components and can be easily downloaded and installed on all major operating system platforms.
MIT License
26 stars 11 forks source link

Add support for bundling trace server #53

Closed bhufmann closed 1 year ago

bhufmann commented 1 year ago

What it does

  1. Package the trace server in the CDTCloudBlueprint.AppImage for Linux (fixes #17)
  2. Support running CDT cloud blueprint from development environment (both browser and electron app). Set trace server path for that.

How to test

  1. Run yarn tracecompass-server:download first and then package the application image on Linux. Start the application and use command Start trace server to start trace server. The server should start successfully.
  2. yarn browser and connect with browser to localhost:3000 or yarn electron. In the running application use command Start trace server to start trace server. The server should start successfully.

Note, that this PR also includes a commit to Workaround rate limitation issues with open-vsx. It downloads the plug-ins sequentially instead of parallel. This should avoid the failure "Download:plugins fails with 429". See discussion: https://community.theia-ide.org/t/download-plugins-fails-with-429/2659

bhufmann commented 1 year ago

@sdirix the build fails. It seems unrelated but I'm not sure. Any suggestion?

bhufmann commented 1 year ago

Works for me with the packaged Electron AppImage! Just a minor comment regarding the automatic build/publish flow.

Do you know how this works in the packaged Electron build? Is the trace viewer extension smart enough to check the bundled resources?

Yes, the extension code is looking into the resources directory [1] of the AppImage for the executable of the server (until a user changes the preferences).

[1] https://github.com/eclipse-cdt-cloud/theia-trace-extension/blob/b7cc4f15c978dd1378e74650a1d01f4aa8cf2f6e/theia-extensions/viewer-prototype/src/electron-node/trace-server/electron-trace-server-service.ts#L7

sdirix commented 1 year ago

@bhufmann I added a commit how I would like to see the download of the trace viewer to be handled. if you agree with this approach I would squash my change into your commit and merge.

bhufmann commented 1 year ago

@bhufmann I added a commit how I would like to see the download of the trace viewer to be handled. if you agree with this approach I would squash my change into your commit and merge.

Thanks for providing the clarification. I'll update the PR and integrate your change.