Перейти к публикации
Форум - ComputerCraft
NEO

libci - программа для однофайловой организации исполняющего скрипта

Рекомендованные сообщения

Хочу представить мини - утилиту под названием libci для организации однофайлового исполняющего скрипта.
Принцип работы утилиты в том что она собирает "архив" из скриптов задавая главный скрипт, ей же можно запустить исполняющий "архив" в формате .libci, главный файл может быть связан с другими файлами с помощью аналога require - loadLib(name).
 
Сборка исполняющего файла:

libci --files test1.lua test2.lua test3.lua --main test1.lua --ouput executable

Из трёх lua скриптов создается один исполняющий файл executable.libci
 
Запуск:
libci executable.libci
 
Исходный код:
 
Утилита довольно сырая, была написана всего за пару часов.
Устройство утилиты не окончательно.
Изменено пользователем NEO
  • Like 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Утилита довольно сырая, была написана всего за пару часов.

НЕО, ты нас обманываешь :D 

local VERSION = '0.2' 

Где релиз 0.1?  :rolleyes:

 

А целом, интересная штука, только вот и в правду где найти ей можно применение  :mellow:

Если только для репозитория, удобно хранить один файл (архив) на сервере, а не целую вязанку зависимостей, чтобы его просто скачать и распаковать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему бы не заменять вызовы require(file) на

(function()
  -- file contents
end)()

таким образом получив возможность запускать программу без libci, захламляющего глобальное пространство имен своими функциями?

Изменено пользователем LeshaInc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему бы не заменять вызовы require(file) на

(function()
  -- file contents
end)()

таким образом получив возможность запускать программу без libci, захламляющего глобальное пространство имен своими функциями?

-_-

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×