-
Notifications
You must be signed in to change notification settings - Fork 323
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
CLI Distribution Design Discussion #987
Comments
Few comments: Enso Home Layout
Universal Launcher Script
Layout of an Enso Version Package
Resolvers
The package.yaml File
Launcher Distribution
|
Below I summarise the conclusions of our meeting with Wojciech and Marcin. Enso Home Layout
Universal Launcher Script
Layout of an Enso Version Package
The package.yaml File
Launcher DistributionThis section heavily depends on whether the launcher will be distributed (as described in the first section).
|
There's a new style for dark mode incoming (enso-org/developer-docs#29) that also fixes the syntax highlighting style (monokai on dark background throughout for light and dark), needs a bit more work. For now, I'd recommend changing to one of the other styles via the selector at the top of the page |
After a discussion with @iamrecursion and @kustosz, we suggest that we reconsider the home layout design. Putting Enso files in the system defined directories instead of a self-contained portable directory brings a few issues:
If we still decide to use the system-defined paths instead of a self-contained executable, we suggest that the |
|
As for the mapping, I think the idea is to put components (Enso versions, runtime and libraries) in
Maybe to support alternative usecases we can support environment variables like
I would like to clarify:
|
I like this approach.
My instinct would be to have it check for the bundle files on launch, and if they are found to move them to the correct directories, rather than having a separate installer.
I don't think we should bother with this for now. In time we may want to, but for now we just need to have something that works, even if it's a bit different for windows. |
|
Configuration for now would be a single I propose we put all data files, i.e. almost all directories (save for So, we would create a directory Moreover, we'd have As for the executable - I guess as the user downloads the executable, they can put it anywhere on their 1b. Personally I really like this idea, as I, personally, prefer the self-contained distributions when installing software on my system. I'm worried it may be a bit unintuitive for users to have to different ways of configuring the installation, but I guess if it's well documented it may work. I have seen other software distributed in a 'normal' and 'portable' version, so maybe it would make sense to allow the users to choose which one they prefer. |
I don't think it's a good idea to have two modes at the moment. Maybe in the future that could be useful, but for now there's enough to do already without adding additional stuff. |
Absolutely not. Executables should be installed in right place, according to XDG rules. It's not an "arbitrary place" - it has te be in their PATh etc and XDG tells where such things should go. Of course user can just move / copy it anywhere, but it should be installed in a good place. Anyway, I really need to see this described clearly, I mean something like this:
etc, including all files, like binaries - of course it can be done in docs, but please ping me as soon as it will be shown as clear as in the docs now - for all files.
Surprisingly I don't agree with you this time, Ara. I think that if we are introducing checks for |
Then does the user download the launcher binary (if so, I have no control over where the user places is) or some kind of installer? It comes down to whether we want to have a separate installer. XDG itself seems not to define a default directory for binaries that is guaranteed to be on system My proposal for the installation structure:
|
|
After a discussion with Wojciech we set for the following: The launcher when run will look for files next to it, if it detects the directories (
On Windows, probably both
The 'default directory for locally installed binaries' is defined as following:
As a side note, as we modify the behaviour of install/uninstall commands, old behaviour will be available under |
Hmm, I believe it should be |
After asking @mwu-tow, he confirmed that we should most likely put everything (data, config and the binary) into We cannot make any assumptions about users PATH. But the installer can modify the users part of the PATH (which does not require administrator privileges), adding As for Mac, I think you are right about |
I'm happy with the above actionable steps! |
Summary
This task is a place for @wdanilo to gather his feedback regarding the Enso CLI distribution schemes.
Value
It's important for @wdanilo to be on board with the proposed design, therefore we need a single place where feedback can be gathered.
Specification
Acceptance Criteria & Test Cases
A design consensus is reached and has been incorporated into the documentation.
The text was updated successfully, but these errors were encountered: