From 13323c55a4d34ddb74b67fab684d4431f9624dd1 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 29 Nov 2021 17:53:01 -0400 Subject: New packaging for Ruby programs. --- lux-ruby/source/program.lux | 58 ++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 27 deletions(-) (limited to 'lux-ruby') diff --git a/lux-ruby/source/program.lux b/lux-ruby/source/program.lux index 9aa71067f..3a55ccafc 100644 --- a/lux-ruby/source/program.lux +++ b/lux-ruby/source/program.lux @@ -67,7 +67,7 @@ [meta [archive {"+" Archive}] ["[0]" packager "_" - ["[1]" script]]]]]]] + ["[1]" ruby]]]]]]] [program ["/" compositor ["/[0]" cli] @@ -870,9 +870,16 @@ (def: (program context program) (Program _.Expression _.Statement) - (_.statement (_.apply_lambda/* (list (runtime.lux//program_args _.command_line_arguments) - _.nil) - program))) + (let [normal_runtime? (_.do "const_defined?" + (list (_.string (_.code _.command_line_arguments))) + {.#None} + (_.local "Object"))] + (_.statement + (_.apply_lambda/* (list (runtime.lux//program_args (_.? normal_runtime? + _.command_line_arguments + (_.array (list)))) + _.nil) + program)))) (def: (declare_success! _) (-> Any (Async Any)) @@ -880,27 +887,24 @@ (program: [service /cli.service] (let [extension ".rb"] - (exec (do async.monad - [_ (/.compiler [/static.#host @.ruby - /static.#host_module_extension extension - /static.#target (/cli.target service) - /static.#artifact_extension extension] - ..expander - analysis.bundle - ..platform - generation.bundle - (function.constant extension/bundle.empty) - ..program - [Register _.Expression _.Statement] - ..extender - service - [(packager.package (: _.Statement (_.manual "")) - _.code - _.then - (|>>)) - (format (/cli.target service) - (# file.default separator) - "program" - extension)])] - (..declare_success! [])) + (exec + (do async.monad + [_ (/.compiler [/static.#host @.ruby + /static.#host_module_extension extension + /static.#target (/cli.target service) + /static.#artifact_extension extension] + ..expander + analysis.bundle + ..platform + generation.bundle + (function.constant extension/bundle.empty) + ..program + [Register _.Expression _.Statement] + ..extender + service + [packager.package + (format (/cli.target service) + (# file.default separator) + "program")])] + (..declare_success! [])) (io.io [])))) -- cgit v1.2.3