Open Che workspace with multiple workspace root#778
Open Che workspace with multiple workspace root#778RomanNikitenko merged 10 commits intoeclipse-che:masterfrom
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)
|
azatsarynnyy
left a comment
There was a problem hiding this comment.
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
OFFmulti-root mode - so no breaking changes for themasterbranchThe current state of the PR - a workspace starts in
OFFmulti-root mode - so the behavior should be exactly as formasterbranch.A user should add the following section to a
devfileto 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
Theiaside)Readmefiles to multi-root workspace changesProjectsview when there are few projects are adding as workspace folders at the same time)Workspacelevel Open Che workspace with multiple workspace root #778 (comment)Open ConfigurationsandAdd configurationactions are not working for a multi-root workspacedevfilelevelTry 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