[erlang-questions] Deploying forked Erlang releases?
Loïc Hoguin
essen@REDACTED
Thu Sep 10 11:26:58 CEST 2015
On 09/10/2015 11:14 AM, Roger Lipscombe wrote:
> We also use direnv for individual developer machines; the .envrc looks
> like this:
>
> OTP_VERSION=$(cat .otp-version)
>
> if has kerl; then
> OTP_INSTALLATION=$(kerl list installations | grep "^$OTP_VERSION "
> | cut -d' ' -f2)
> if [ -s "$OTP_INSTALLATION/activate" ] ; then
> echo "Using Erlang/OTP $OTP_VERSION (in $OTP_INSTALLATION) via kerl."
> . $OTP_INSTALLATION/activate
>
> export OTP_ROOT=$OTP_INSTALLATION
> export OTP_VERSION
> else
> echo "Erlang/OTP $OTP_VERSION not available via kerl; using default."
> fi
> else
> echo "kerl not available; using default Erlang."
> fi
>
> ...and we expect that developers have the correct Erlang/OTP installed
> using kerl, in an appropriate place.
I have plans to allow Erlang.mk to manage the Erlang version a project
needs. For example if you need 18.0.2 with dirty schedulers, you just
put a little bit of configuration in your Makefile, and then Erlang.mk
will build the missing Erlang and/or activate it if it's already there.
This should make things a bit easier, particularly when you have to
update Erlang.
It's a natural extension of 'make -k ci' which already uses kerl to
manage the Erlang versions you want to test your project against.
Ticket is https://github.com/ninenines/erlang.mk/issues/328 if you want
to subscribe or add more requirements. :-)
--
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang
More information about the erlang-questions
mailing list