-
Notifications
You must be signed in to change notification settings - Fork 111
Open Che workspace with multiple workspace root #778
Open Che workspace with multiple workspace root #778
Conversation
This comment has been minimized.
This comment has been minimized.
I think an approach that computes the workspace roots at the same time as doing the cloning would make it easier keeping projects and workspace roots in sync as we evolve the code. We can also make sure language servers are not seeing half-cloned projects that way. #408 implements that approach and also cleans up the UI a bit. I would recommend we base our work on that PR. |
From what i see in the exemple, it's only possible to define one workspace root per project. Also why adding a intermediate file? |
@sunix: not yet as it requires a new devfile format
to make it persistent across workspace restart. |
Ok, I feel like this is all temporary ... waiting for a new devfile format. What are the next steps? |
de2de5a
to
0e2b132
Compare
This comment has been minimized.
This comment has been minimized.
0e2b132
to
23712a2
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@RomanNikitenko looks like it was related to my hack "commit" |
@benoitf it's also strange for me because yesterday I tested after removing the commit using my another devfile with |
@RomanNikitenko as you've a launch.json in the workspace root folder, theia try to clone project but it can't as there is already some files there |
@tsmaeder |
@RomanNikitenko I agree this can be confusing when there is a long wait before cloning starts. A couple of ideas:
|
To clarify: in my implementation a workspace folder is added when cloning is completed, because you mentioned that:
|
I understand that...but when the user sees that projects are being added, she knows something is going on; when the IDE just sits there, it's much worse. |
I agree. I just highlighted some details in my previous comment to be sure that we speak about the same things. |
I aligned the corresponding plugin API of |
b969cdc
to
aced978
Compare
❌ E2E Happy path tests failed ❗ See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
[crw-ci-test] |
❌ E2E Happy path tests failed ❗ See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
[crw-ci-test] |
This comment has been minimized.
This comment has been minimized.
f08c3ea
to
62bab14
Compare
This comment has been minimized.
This comment has been minimized.
62bab14
to
ed974ab
Compare
✅ E2E Happy path tests succeed 🎉 See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
ed974ab
to
39499e2
Compare
✅ E2E Happy path tests succeed 🎉 See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After several rounds of testing, I don't see any issues anymore.
I think it's ready now and all other enhancements we could make in further iterations.
39499e2
to
2b27dfe
Compare
I have rebased the branch and added the handling of @tsmaeder thanks in advance! |
✅ E2E Happy path tests succeed 🎉 See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
I can't approve the PR as I created it :-) |
@benoitf We'll take this ^ as your approvement 😄 |
…ts (or what has been configured as ROOT folder) Checks if there is a che.theia-workspace file. if there is one, returns that file as being a workspace root if none, generate the file by getting all clonedPath/path of the devfile projects enhancements: 1. make it optional for now (like if there is a special attribute in devfile, use that mode) 2. track new folders in /projects and add them to the che.theia-workspace file automatically (and if we delete folders) 3. allow to customize/provide different projects to be added in workspace root. Could be useful for a maven project to see only sub-folders/modules Change-Id: Idfb9370dc503bcfb5504ba37446f7f1ab171b515 Signed-off-by: Florent Benoit <fbenoit@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
…file level Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
2b27dfe
to
dee2d73
Compare
I have resolved the conflicts (the changes for some files were too close to the merged recently PR) and rebased my branch. |
Codecov Report
@@ Coverage Diff @@
## master #778 +/- ##
==========================================
- Coverage 58.02% 56.38% -1.64%
==========================================
Files 46 47 +1
Lines 2032 2091 +59
Branches 333 345 +12
==========================================
Hits 1179 1179
- Misses 843 900 +57
- Partials 10 12 +2
Continue to review full report at Codecov.
|
✅ E2E Happy path tests succeed 🎉 See Details
Tested with Eclipse Che Single User on K8S (minikube v1.1.1)
|
What does this PR do?
Handle multiple workspace roots
Checks if there is a che.theia-workspace file.
if there is one, returns that file as being a workspace root
if none, generate the file by getting all clonedPath/path of the devfile projects
enhancements:
I think we could resolve those items ^^ in a separate issue: by default a workspace starts in
OFF
multi-root mode - so no breaking changes for themaster
branchThe current state of the PR - a workspace starts in
OFF
multi-root mode - so the behavior should be exactly as formaster
branch.A user should add the following section to a
devfile
to turn on multi-root mode:Please let me know if you have a better idea for the attribute and value as marker for multi-root mode - it's easy to change on the current step.
Change-Id: Idfb9370dc503bcfb5504ba37446f7f1ab171b515
Signed-off-by: Florent Benoit fbenoit@redhat.com
What issues does this PR fix or reference?
eclipse-che/che#17212
TODO
Theia
side)Readme
files to multi-root workspace changesProjects
view when there are few projects are adding as workspace folders at the same time)Workspace
level Open Che workspace with multiple workspace root #778 (comment)Open Configurations
andAdd configuration
actions are not working for a multi-root workspacedevfile
levelTry it with two go projects, one with go modules, another without:
http://che.openshift.io/f/?url=https://gist.githubusercontent.com/benoitf/57ffa7e39e2e16a6a2f6756a44693e43/raw/5afea100c012fe05e325358f0a58577821a3cb99/golang-example.devfile.yaml
Happy Path Channel
HAPPY_PATH_CHANNEL=next