38
38
# First order of business, see whether we can setup asdf
39
39
echo " Looking for asdf install" >&2
40
40
41
+ readlink_f () {
42
+ cd " $( dirname " $1 " ) " > /dev/null || exit 1
43
+ filename=" $( basename " $1 " ) "
44
+ if [ -h " $filename " ]; then
45
+ readlink_f " $( readlink " $filename " ) "
46
+ else
47
+ echo " $( pwd -P) /$filename "
48
+ fi
49
+ }
50
+
51
+ export_stdlib_path () {
52
+ which_elixir_expr=$1
53
+ stdlib_path=$( eval " $which_elixir_expr " )
54
+ stdlib_real_path=$( readlink_f " $stdlib_path " )
55
+ ELX_STDLIB_PATH=$( echo " $stdlib_real_path " | sed " s/\(.*\)\/bin\/elixir/\1/" )
56
+ export ELX_STDLIB_PATH
57
+ }
58
+
41
59
# Check if we have the asdf binary for version >= 0.16.0
42
60
if command -v asdf > /dev/null 2>&1 ; then
43
61
asdf_version=$( asdf --version 2> /dev/null)
@@ -58,6 +76,7 @@ if command -v asdf >/dev/null 2>&1; then
58
76
else
59
77
>&2 echo " asdf executable found at $( command -v asdf) . Using ASDF_DIR=${ASDF_DIR} , ASDF_DATA_DIR=${ASDF_DATA_DIR} ."
60
78
fi
79
+ export_stdlib_path " asdf which elixir"
61
80
else
62
81
# Fallback to old method for version <= 0.15.x
63
82
ASDF_DIR=${ASDF_DIR:- " ${HOME} /.asdf" }
66
85
>&2 echo " Legacy pre v0.16.0 asdf install found at $ASDF_SH , sourcing"
67
86
# Source the old asdf.sh script for versions <= 0.15.0
68
87
. " $ASDF_SH "
88
+ export_stdlib_path " asdf which elixir"
69
89
else
70
90
>&2 echo " asdf not found"
71
91
>&2 echo " Looking for mise executable"
74
94
if command -v mise > /dev/null 2>&1 ; then
75
95
>&2 echo " mise executable found at $( command -v mise) , activating"
76
96
eval " $( $( command -v mise) env -s " $preferred_shell " ) "
97
+ export_stdlib_path " mise which elixir"
77
98
else
78
99
>&2 echo " mise not found"
79
100
>&2 echo " Looking for rtx executable"
82
103
if command -v rtx > /dev/null 2>&1 ; then
83
104
>&2 echo " rtx executable found at $( command -v rtx) , activating"
84
105
eval " $( $( command -v rtx) env -s " $preferred_shell " ) "
106
+ export_stdlib_path " rtx which elixir"
85
107
else
86
108
>&2 echo " rtx not found"
87
109
>&2 echo " Looking for vfox executable"
92
114
eval " $( $( command -v vfox) activate " $preferred_shell " ) "
93
115
else
94
116
>&2 echo " vfox not found"
117
+ export_stdlib_path " which elixir"
95
118
fi
96
119
fi
97
120
fi
115
138
# script so we can correctly configure the Erlang library path to
116
139
# include the local .ez files, and then do what we were asked to do.
117
140
118
- readlink_f () {
119
- cd " $( dirname " $1 " ) " > /dev/null || exit 1
120
- filename=" $( basename " $1 " ) "
121
- if [ -h " $filename " ]; then
122
- readlink_f " $( readlink " $filename " ) "
123
- else
124
- echo " $( pwd -P) /$filename "
125
- fi
126
- }
127
-
128
141
if [ -z " ${ELS_INSTALL_PREFIX} " ]; then
129
142
SCRIPT=$( readlink_f " $0 " )
130
143
SCRIPTPATH=$( dirname " $SCRIPT " )
0 commit comments