OneScript icon indicating copy to clipboard operation
OneScript copied to clipboard

Урезанная сборка OS2 для использования в конечных продуктах

Open Bayselonarrend opened this issue 1 year ago • 5 comments

Описание задачи

Если есть простой способ это сделать, то добавить вариант сборки OneScript 2.0 с исключением различных дев dll по типу дебаггера, диагностик и пр. Это было бы удобно для включения независимых сборок OS в состав пакетов и установщиков конечных продуктов, для которых 90 мб это ту мач

Опишите решение Создавать zip/deb/rpm OneScript-а с уменьшенным набором dll и весом, файлы которого можно было бы положить рядом с библиотекой уже в своем zip/deb/rpm и получить полноценный варез

Дополнительная информация Если бы еще можно было по коду скрипта определять набор используемых dll - вообще было бы супер)

Bayselonarrend avatar Oct 28 '24 13:10 Bayselonarrend

Есть нугет-пакеты с отдельно дебаггером, отдельно стандартной библиотекой и т.п. Не очень понял цель - что нужно получить? Малый дистрибутив это FDD-вариант, около 10 Мб

EvilBeaver avatar Oct 29 '24 06:10 EvilBeaver

Не очень понял цель - что нужно получить?

Малый (скорее меньший, чем обычный) дистрибутив, но не FDD)

Bayselonarrend avatar Oct 29 '24 06:10 Bayselonarrend

Условно, у меня есть, например, deb пакет, который при распаковке кладет следующее:

  1. /usr/share/{имя приложения}/bin - тут лежит oscript
  2. /usr/share/{имя приложения}/lib - тут лежат нужные .os
  3. /usr/bin/{имя приложения} - тут просто .sh, который запускает oscriptом из п.1 .os из п.2

Но oscript из п1, если класть его какой он сейчас, очень большой. В rc-4 он как бы еще 70 мб - 30 в пакете, но rc-5 уже под сотку. Я из него конечно ASP вырезал и стало меньше) Но просто стало интересно, есть ли возможность вырезать из него что-нибудь такое, что используется только при разработке, но не нужно если подразумевается только запуск

Bayselonarrend avatar Oct 29 '24 06:10 Bayselonarrend

есть ли возможность вырезать из него что-нибудь такое, что используется только при разработке, но не нужно если подразумевается только запуск

Такой эксперимент не проводился. Технически, можно удалить любые dll, которые не используются в рантайме, а только упомянуты в зависимостях, т.к. загрузка dll выполняется при первой попытке JIT-компиляции метода из библиотеки

EvilBeaver avatar Oct 30 '24 16:10 EvilBeaver

Технически, можно удалить любые dll, которые не используются в рантайме, а только упомянуты в зависимостях

А где можно посмотреть какие есть какие?

Bayselonarrend avatar Oct 31 '24 08:10 Bayselonarrend