NEO 542 Опубликовано: 29 июня, 2017 (изменено) Хочу представить мини - утилиту под названием libci для организации однофайлового исполняющего скрипта.Принцип работы утилиты в том что она собирает "архив" из скриптов задавая главный скрипт, ей же можно запустить исполняющий "архив" в формате .libci, главный файл может быть связан с другими файлами с помощью аналога require - loadLib(name). Сборка исполняющего файла: libci --files test1.lua test2.lua test3.lua --main test1.lua --ouput executable Из трёх lua скриптов создается один исполняющий файл executable.libci Запуск: libci executable.libci Исходный код: https://pastebin.com/v8hY3ma7 Утилита довольно сырая, была написана всего за пару часов. Устройство утилиты не окончательно. Изменено 29 июня, 2017 пользователем NEO 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SDV 784 Опубликовано: 29 июня, 2017 Утилита довольно сырая, была написана всего за пару часов. НЕО, ты нас обманываешь local VERSION = '0.2' Где релиз 0.1? А целом, интересная штука, только вот и в правду где найти ей можно применение Если только для репозитория, удобно хранить один файл (архив) на сервере, а не целую вязанку зависимостей, чтобы его просто скачать и распаковать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 29 июня, 2017 (изменено) Почему бы не заменять вызовы require(file) на (function() -- file contents end)() таким образом получив возможность запускать программу без libci, захламляющего глобальное пространство имен своими функциями? Изменено 29 июня, 2017 пользователем LeshaInc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 542 Опубликовано: 29 июня, 2017 Почему бы не заменять вызовы require(file) на (function() -- file contents end)() таким образом получив возможность запускать программу без libci, захламляющего глобальное пространство имен своими функциями? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах