This commit adds 6 new options to elixir CLI to aid releases: * `--pipe-to PIPEDIR LOGDIR` - invokes run_erl with daemon pipe and logs (only on Unix-like systems) * `--rpc-eval NODE COMMAND` - evaluates the given expression on the given node * `--boot FILE`, `--boot-var VAR VALUE`, `--erl-config FILE` and `--vm-args FILE` - which are equivalent to Erlang's `-boot`, `-boot_var`, `-config` and `-args_file` We have also rewritten the CLI to only pass Elixir options to Kernel.CLI.
34 lines
1.2 KiB
Bash
Executable File
34 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
if [ $# -eq 0 ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
|
|
echo "Usage: $(basename $0) [elixir switches] [compiler switches] [.ex files]
|
|
|
|
-h, --help Prints this message and exits
|
|
-o The directory to output compiled files
|
|
-v, --version Prints Elixir version and exits
|
|
|
|
--ignore-module-conflict Does not emit warnings if a module was previously defined
|
|
--no-debug-info Does not attach debug info to compiled modules
|
|
--no-docs Does not attach documentation to compiled modules
|
|
--verbose Prints compilation status
|
|
--warnings-as-errors Treats warnings as errors and return non-zero exit code
|
|
|
|
Options given after -- are passed down to the executed code.
|
|
Options can be passed to the Erlang runtime using \$ELIXIR_ERL_OPTIONS.
|
|
Options can be passed to the Erlang compiler using \$ERL_COMPILER_OPTIONS." >&2
|
|
exit 1
|
|
fi
|
|
|
|
readlink_f () {
|
|
cd "$(dirname "$1")" > /dev/null
|
|
filename="$(basename "$1")"
|
|
if [ -h "$filename" ]; then
|
|
readlink_f "$(readlink "$filename")"
|
|
else
|
|
echo "$(pwd -P)/$filename"
|
|
fi
|
|
}
|
|
|
|
SELF=$(readlink_f "$0")
|
|
SCRIPT_PATH=$(dirname "$SELF")
|
|
exec "$SCRIPT_PATH"/elixir +elixirc "$@"
|