https://github.com/erlang/rebar3_otp_install_plugin
https://github.com/erlang/rebar3_otp_install_plugin
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/erlang/rebar3_otp_install_plugin
- Owner: erlang
- License: apache-2.0
- Created: 2017-03-16T14:30:04.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-10T11:51:12.000Z (about 9 years ago)
- Last Synced: 2025-04-06T10:42:56.560Z (about 1 year ago)
- Language: Erlang
- Size: 10.7 KB
- Stars: 4
- Watchers: 23
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
rebar3_otp_install_plugin
=====
A rebar3 plugin for installing OTP applications
Description
-----------
This plugin makes it possible to restore the OTP bundle as it looked
before OTP-20, i.e. the applications that have been moved out of the
OTP repository can be installed into `/usr/local/lib/erlang/lib/` or
`$HOME/.local/lib/erlang/lib` or any other suitable place where `erl`
can find them again.
The decoupled applications are proper `rebar3` applications, but since
they are used in legacy project, this plugin is provided to allow
continued use without converting the projects to using `rebar3` for
packaging.
The plugin is implemented in the `otp` namespace.
Build
-----
$ rebar3 compile
Usage
-----
rebar3 otp install [] [-r ] [-v ] [-t ]
[-r ] [-b ] [-o ]
[--nodeps]
The application to install. If not given, the application
found in the current directory is installed.
-r, --repo Git repository to fetch application from. Default is the
official erlang/OTP repository for the given application.
-v, --version Application version. Default is the latest from master
branch.
-t, --tag Git tag for application. Default is the latest from
master branch.
-r, --ref Git ref for application. Default is the latest from
master branch.
-b, --branch Git branch for application. Default is master.
-o, --target Directory where the apps shall be installed. A
subdirectory named erlang will be created under the given
target directory. Default is $HOME/.local/lib.
--nodeps Install only the primary application, no dependecies.
Example
-------
Add the plugin to your rebar config (typically your global config
$HOME/.config/rebar3/rebar.config):
{plugins, [{rebar3_otp_install_plugin,
{git, "git@github.com:erlang/rebar3_otp_install_plugin.git",
{tag, "0.1"}}}
]}.
Then just call your plugin directly in any directory:
$ rebar3 otp install typer -v 0.9.13
===> Compiling rebar3_otp_install_plugin
===> Verifying dependencies...
===> Verifying dependencies...
===> Fetching typer ({git,"git@github.com:erlang/typer.git",
{tag,"0.9.13"}})
===> Fetching rebar3_appup_plugin ({pkg,<<"rebar3_appup_plugin">>,
<<"2.2.0">>})
===> Downloaded package, caching at ....
===> Compiling rebar3_appup_plugin
===> Compiling rebar3_otpdoc_plugin
===> Compiling typer
===> Compiling typer.appup.src
===> Building escript...
===> Installing applications: [typer]
or inside a OTP application directory:
$ rebar3 otp install
===> Verifying dependencies...
===> Compiling typer
===> Compiling typer.appup.src
===> Building escript...
===> Installing application from current project
===> Installing applications: [typer]
Make sure that you start your erlang node with additional paths to
installed libs and executables.