19 lines
829 B
Bash
19 lines
829 B
Bash
|
# shellcheck shell=bash
|
||
|
# this hook will symlink all dependencies found in ERL_LIBS
|
||
|
# since Elixir 1.12.2 elixir does not look into ERL_LIBS for
|
||
|
# elixir depencencies anymore, so those have to be symlinked to the _build directory
|
||
|
mkdir -p _build/"$MIX_ENV"/lib
|
||
|
while read -r -d ':' lib; do
|
||
|
for dir in "$lib"/*; do
|
||
|
# Strip version number for directory name if it exists, so naming of
|
||
|
# all libs matches what mix's expectation.
|
||
|
dest=$(basename "$dir" | cut -d '-' -f1)
|
||
|
build_dir="_build/$MIX_ENV/lib/$dest"
|
||
|
((MIX_DEBUG == 1)) && echo "Linking $dir to $build_dir"
|
||
|
# Symlink libs to _build so that mix can find them when compiling.
|
||
|
# This is what allows mix to compile the package without searching
|
||
|
# for dependencies over the network.
|
||
|
ln -s "$dir" "$build_dir"
|
||
|
done
|
||
|
done <<< "$ERL_LIBS:"
|