OLP LFE Platform
- Introduction
- Dependencies
- Build Steps
- Docker
- For LFE/OLP Application Developers
- For OLP Matinainers
- License
HC SVNT DRACONES ↟
WARNING: This is an experimental work in progress. The functionality offered by this codebase in creating an OLP release is base-bones, and only just in its first stages (also: no docs yet!)
LFE Upstream: The ticket that is tracking this work at a high-level from the LFE perspective is here:
The OLP Project: The ticket that is tracking the tasks for getting an OLP release created is here:
There is also a Scrum-like project board here:
Introduction ↟
OLP is the OLP LFE Platform, an OTP-style release build of LFE and supported community libraries, packaged together in the same way that the Erlang Runtime System and various Erlang libraries are packaged together.
Dependencies ↟
- Erlang
git
rebar
relx
make
Build Steps ↟
Preparation:
- Clone the repo:
git clone [email protected]:lfe/olp.git
- Change directory to the
olp
dir:cd olp
Automated build:
- Build:
make
If you would prefer to execute the steps manually, they are as follows:
git submodule init
git submodule update
rebar3 release
Or, if you want to create a tarball to ship:
rebar3 tar
Note that if using the tar
command, you don't need to run the release
command.
Docker ↟
There is also a Docker option for LFE/OLP, currently built on Ubuntu 16.04:
$ docker pull lfex/olp
Running an LFE REPL in a dockerized OLP release:
$ docker run -it lfex/olp
Size comparison of Docker images:
- Ubuntu 16.04, raw: 127.2 MB
- LFE/OLP, openssl: 191.6 MB
- LFE, build tools, etc.: 879.6 MB
For LFE/OLP Application Developers ↟
There's noting to see here, yet :-) (The corageous may use OLP, but please see the map above and the reference to dragons and their whereabouts).
If you are a developer interested in what you will be able to do with OLP in the future, the following tickets may be of interest to you:
- Examine Release Use Cases
- rovide Multuple Means of OLP Installation
- tandardize Release Documentation
Once those tickets are completed, we'll have more useful information to put in this section of the README
:-)
For OLP Maintainers ↟
References ↟
Adding New Libs ↟
Assuming that the library you want to add is in the LFEX Github org, the following will add the lib as a git submodule to this project:
$ OLP_LIB=mylib make add-lib
That make target will also commit the submodule change to the repo.
Updating Libs ↟
If you already have an OLP working directory set up with LFE and libraries pulled down, but you want to bring in the latest changes (i.e., update the submodules), you can run this target:
$ make update-sources
License ↟
Apache Version 2 License
Copyright (c) 2016-2017 Robert Virding