mirror of
https://github.com/enso-org/enso.git
synced 2024-12-24 23:51:44 +03:00
58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
|
# Simple Enso Library Server
|
||
|
|
||
|
A simple server for hosting custom Enso library repositories.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
You need Node.JS to use this version of the server.
|
||
|
|
||
|
To install the dependencies, run `npm install` in the root directory of the
|
||
|
application. Then you can run the `main.js` file to start the server. See
|
||
|
`./main.js --help` for available commandline options.
|
||
|
|
||
|
## Repository structure
|
||
|
|
||
|
When launching the server, you need to provide it with a directory that is the
|
||
|
root of the server. This directory should contain a `libraries` directory or
|
||
|
`editions` directory (or both). Each of them should have the directory structure
|
||
|
as described in [the Enso documentation](../../docs/libraries/repositories.md).
|
||
|
|
||
|
For example, the root directory may look like this:
|
||
|
|
||
|
```
|
||
|
root
|
||
|
├── libraries
|
||
|
│ ├── Foo
|
||
|
│ │ └── Bar
|
||
|
│ │ ├── 1.2.3
|
||
|
│ │ │ ├── meta
|
||
|
│ │ │ │ ├── preview.png
|
||
|
│ │ │ │ └── icon.png
|
||
|
│ │ │ ├── main.tgz
|
||
|
│ │ │ ├── tests.tgz
|
||
|
│ │ │ ├── LICENSE.md
|
||
|
│ │ │ ├── package.yaml
|
||
|
│ │ │ └── manifest.yaml
|
||
|
│ │ └── 1.2.4-SNAPSHOT.2021-06-24
|
||
|
│ │ └── ... # Truncated for clarity
|
||
|
│ └── Standard
|
||
|
│ ├── Base
|
||
|
│ │ └── 1.0.0
|
||
|
│ │ └── ...
|
||
|
│ └── Table
|
||
|
│ └── 1.0.0
|
||
|
│ └── ...
|
||
|
└── editions
|
||
|
├── manifest.yaml
|
||
|
├── 2021.1.yaml
|
||
|
├── foo.yaml
|
||
|
└── bar.yaml
|
||
|
```
|
||
|
|
||
|
Then to add this repository as an edition provider you can append
|
||
|
`http://hostname:port/editions` to the `edition-providers` field in
|
||
|
`global-config.yaml`.
|
||
|
|
||
|
To use libraries from this repository, the editions should define the repository
|
||
|
with URL `http://hostname:port/libraries`.
|