[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Component Manager with the Project Manager #1153

Closed
5 of 8 tasks
radeusgd opened this issue Sep 16, 2020 · 0 comments · Fixed by #1305
Closed
5 of 8 tasks

Integrate Component Manager with the Project Manager #1153

radeusgd opened this issue Sep 16, 2020 · 0 comments · Fixed by #1305
Assignees
Labels
-tooling Category: tooling d-intermediate Difficulty: some prior knowledge required p-high Should be completed in the next sprint

Comments

@radeusgd
Copy link
Member
radeusgd commented Sep 16, 2020

Summary

Once the ComponentsManager (now RuntimeVersionManager) is separated into a library (#1152), that library should be used to implement most of the new protocol requirements in the project manager.

Value

  • The project manager automatically manages components to open/create projects using versions of Enso that do not have to be installed (as they'll be installed by the project manager when needed).
  • The project manager can manage the basic configuration (like author.name and author.email for new projects).

Specification

  • The project manager uses the component-manager library to handle the requests described in its new protocol.
  • The 'user interface' of the component-manager (i.e. asking if a version should be installed or reporting progress of installation) is handled using the project manager protocol.
  • The DistributionManager should be set-up in such a way that the installed components are shared between the project-manager and the launcher, i.e. a component installed using one has to be available in the other. This includes sharing the lockfiles so that the launcher and project-manager do not interfere with each other.
  • The project manager should handle the configuration-related protocol messages using the GlobalConfigurationManager.
  • The Project manager should start the language server as a separate Java process using the Runtime Version Manager.

Acceptance Criteria & Test Cases

  • The components manager integration is tested as much as possible.
    • If possible, it would be good to emulate the releases in the same way as in the ComponentsManagerSpec and test if the protocol messages are handled correctly.
  • Starting the language server should be well tested.
  • If possible, progress notifications should be tested.
@radeusgd radeusgd added Type: Enhancement d-intermediate Difficulty: some prior knowledge required -tooling Category: tooling p-high Should be completed in the next sprint labels Sep 16, 2020
@radeusgd radeusgd mentioned this issue Sep 16, 2020
26 tasks
@radeusgd radeusgd self-assigned this Sep 16, 2020
@iamrecursion iamrecursion added this to the Sprint 2020-11-09 milestone Nov 6, 2020
radeusgd added a commit that referenced this issue Nov 16, 2020
Related to #1153, implements the first part of the integration, without the
parts that use the runner which will be done next.
Temporarily there are two logger implementations - this will be alleviated with
the next part - when and the direct classpath dependency on the language server
is removed.
@iamrecursion iamrecursion modified the milestones: Sprint 2020-11-09, Sprint 2020-11-23 Nov 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-tooling Category: tooling d-intermediate Difficulty: some prior knowledge required p-high Should be completed in the next sprint
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants