eclipse-archived / codewind

The official repository of the Eclipse Codewind project
https://codewind.dev
Eclipse Public License 2.0
114 stars 45 forks source link

cwctl project sync errors should be passed back to IDE #1751

Open makandre opened 4 years ago

makandre commented 4 years ago

Codewind version: OS:

Che version: IDE extension version: IDE version: Kubernetes cluster:

Description of the enhancement:

When user modifies a file in IDE, cwctl project sync is called by filewatcherd to sync changes to PFE. But if an error occurs, it is not passed back to IDE (the output won't even be in the Codewind log, since the command is not called by IDE directly)

Need to consider the scenario for different IDEs; I'm told in Che filewatcherd runs completely separate in its own container, whereas for vscode/eclipse there's only minimal integration/communication back to the IDEs.

Proposed solution:

jgwest commented 4 years ago

Adding area tags for all the components that would be affected by this (it's a rainbow of areas 😄 )

tetchel commented 4 years ago

agreed with this, it applies to bind too if the initial sync fails, there's no way for a user to see this failed unless they look at the cwctl output.

[INFO: 11:31:52.534 MCSocket.js:154]: Project appswift has been created
[WARN: 11:31:52.539 ProjectState.js.toString():70]: appswift has unknown app and build statuses
[WARN: 11:31:52.745 ProjectState.js.toString():70]: appswift has unknown app and build statuses
[DBUG: 11:31:53.747 CLIWrapper.js:193]: Successfully ran CLI command cwctl --json --insecure project bind --conid K5E6106G --name appswift --language swift --type appsodyExtension --path /Users/tim/codewind-workspace/appswift, Output was:
{"projectID":"85c949b0-3c6b-11ea-b99b-93905d16d0bd","status":"200 OK","statusCode":200,"uploadedFiles":[{"filePath":".appsody-config.yaml","status":"500 Internal Server Error","statusCode":500},{"filePath":".gitignore","status":"500 Internal Server Error","statusCode":500},{"filePath":".vscode/launch.json","status":"500 Internal Server Error","statusCode":500},{"filePath":".vscode/tasks.json","status":"200 OK","statusCode":200},{"filePath":"Package.swift","status":"500 Internal Server Error","statusCode":500},{"filePath":"Sources/Application/Application.swift","status":"500 Internal Server Error","statusCode":500},{"filePath":"Sources/server/main.swift","status":"500 Internal Server Error","statusCode":500},{"filePath":"Tests/ApplicationTests/KituraStackTests.swift","status":"500 Internal Server Error","statusCode":500},{"filePath":"Tests/LinuxMain.swift","status":"500 Internal Server Error","statusCode":500}]}
[INFO: 11:31:53.748 CLICommandRunner.js:85]: Bound new project appswift with ID 85c949b0-3c6b-11ea-b99b-93905d16d0bd