Перейти к содержимому


Фотография

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


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 29 Июнь 2017 - 11:55

Хочу представить мини - утилиту под названием 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: 29 Июнь 2017 - 11:56

  • Totoro, Fingercomp и eu_tomat это нравится

#2 Оффлайн   SDV

SDV
  • Пользователи
  • Сообщений: 655
  • Уровень сигнала: 27,38%
  • В игре: 204 час. 27 мин.
  • ГородO.R.E.N.B.U.R.G.

Награды

        

Отправлено 29 Июнь 2017 - 18:05

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

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

local VERSION = '0.2' 

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

 

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

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



#3 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 204
  • Уровень сигнала: 15,61%
  • В игре: 116 час. 32 мин.
  • ГородЛуна

Награды

                       

Отправлено 29 Июнь 2017 - 19:06

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

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

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


Сообщение отредактировал LeshaInc: 29 Июнь 2017 - 19:07


#4 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 29 Июнь 2017 - 20:58

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

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

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

-_-






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных