|
1 | 1 | defmodule ElixirScript.CommandLine do
|
2 |
| - alias ElixirScript.Context |
3 | 2 | alias ElixirScript.Core
|
4 | 3 | alias ElixirScript.CustomLogger, as: Logger
|
| 4 | + alias ElixirScript.ScriptRunner |
5 | 5 |
|
6 | 6 | def main(args \\ []) do
|
7 | 7 | Logger.debug("Running in debug mode")
|
| 8 | + Logger.debug("All Environment Variables: #{inspect(System.get_env(), limit: :infinity, printable_limit: :infinity)}") |
8 | 9 | {opts, _, _} = OptionParser.parse(args, strict: [help: :boolean])
|
| 10 | + Logger.debug("Parsed options: #{inspect(opts, limit: :infinity, printable_limit: :infinity)}") |
9 | 11 |
|
10 | 12 | if opts[:help] do
|
11 | 13 | print_help()
|
12 | 14 | else
|
13 |
| - run_script() |
| 15 | + result = ScriptRunner.run(get_script()) |
| 16 | + Core.set_output("result", result) |
| 17 | + Logger.debug("Result output: #{inspect(result, limit: :infinity, printable_limit: :infinity)}") |
14 | 18 | end
|
15 | 19 | end
|
16 | 20 |
|
17 |
| - defp run_script do |
18 |
| - Logger.debug("All Environment Variables: #{inspect(System.get_env(), limit: :infinity, printable_limit: :infinity)}") |
19 |
| - |
| 21 | + defp get_script do |
20 | 22 | script = Core.get_env_input("script", required: true)
|
21 | 23 | Logger.debug("Script input: #{inspect(script, limit: :infinity, printable_limit: :infinity)}")
|
22 |
| - |
23 |
| - {value, _binding} = Code.eval_string(script, context: Context.from_github_environment()) |
24 |
| - Core.set_output("result", value) |
25 |
| - Logger.debug("Result output: #{inspect(value, limit: :infinity, printable_limit: :infinity)}") |
| 24 | + script |
26 | 25 | end
|
27 | 26 |
|
28 | 27 | defp print_help do
|
|
0 commit comments