Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

opm 1.0 #64

Closed
dmpas opened this issue Mar 13, 2017 · 27 comments
Closed

opm 1.0 #64

dmpas opened this issue Mar 13, 2017 · 27 comments
Milestone

Comments

@dmpas
Copy link
Member

dmpas commented Mar 13, 2017

Что мешает сделать наконец-то 1.0 ???

@nixel2007 @EvilBeaver

@nixel2007
Copy link
Member

Не все core-фичи еще доделаны :)
Нормальная работа с ремоутом, oscript-modules, проверка на необходимость обновления opm.
За 0.9 вполне может следовать 0.10. :)

@dmpas
Copy link
Member Author

dmpas commented Mar 13, 2017

я понимаю, что за 0.9 следует 0.10, я не понимаю, почему вещь, которой все пользуются из коробки, до сих пор в бете сидит.

эта штука хорошо умеет скачивать и обновлять - этого достаточно в подавляющем большинстве случаев.

@nixel2007
Copy link
Member

Не хочу делать breaking change после 1.0
Например, хорошо бы перевести все ключи в единый формат с короткими/длинными именами. Значит, появятся депрейкейтед ключи.
Из разряда "не красиво" :)
В целом-то да, инструмент есть и работает.

@dmpas
Copy link
Member Author

dmpas commented Mar 13, 2017

за breaking change шишки в тебя полетят независимо от того, 0.9999 у тебя или 1.0. Всё равно будут депрекейтеды.

@nixel2007
Copy link
Member

На 0.х можно прикрываться семвером и "а чо вы от беты хотели?" :D

@dmpas
Copy link
Member Author

dmpas commented Mar 13, 2017

так мы и на 1.х прикрываемся опенсурсом и отказом от ответственности.

@EvilBeaver
Copy link
Member

Мое имхо. Делаем локальные установки модулей и вперед, в 1.0

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

@artbear
Copy link
Member

artbear commented May 3, 2017

Локальные установки заработали же, верно?
может быть, уже пора 1.0 ?

@artbear artbear added this to the 0.10 milestone May 3, 2017
@dmpas
Copy link
Member Author

dmpas commented Nov 21, 2017

Подниму вопрос.

@EvilBeaver
Copy link
Member

Надо еще подход сделать к ней. И настройки перепилить, а то сейчас настройки прокси убого задаются

@nixel2007
Copy link
Member

self-contained opm надо доделать

@dmpas
Copy link
Member Author

dmpas commented Jul 17, 2018

Подниму вопрос.

@nixel2007
Copy link
Member

nixel2007 commented Jul 17, 2018

версию манифеста хочу. прям в packagedef. типа

Описание.Формат("1.0");

Описание.Имя("МойПакет").Версия("1.0.0");

И чтобы прям исключение кидало, если клиентский opm не поддерживает эту версию манифеста.
тогда можно будет относительно безболезненно добавлять новые фичи в packagedef, будучи уверенным, что клиент получит внятный эксепшен. ЗависитОт("opm") - это не то.

@EvilBeaver
Copy link
Member

Лучший способ - сменить формат манифеста

@nixel2007
Copy link
Member

@EvilBeaver ничоси. за это надо выпить обсудить.

@EvilBeaver
Copy link
Member

Я те вчера звонил, но ты пропал, как обычно.

Имеем:

  • Руби и Питон используют "кодовые" манифесты, как и опм. Как они с ними живут и какой там workflow разработки с использованием сторонних пакетов?
  • NPM использует json манифест. workflow известен - install --save и прочее. Как в JS прописывают скриптовые части манифеста, сборку, установку, удаление?

@nixel2007
Copy link
Member

Про руби и питон схожу не скажу, надо изучать. Или звать @pumbaEO, например.

В npm в package.json есть секция scripts. В ней лежат как пользовательские команды запуска (npm run my_task - наш аналог каталог tasks и инфраструктура тасков), так и дополнительные волшебные таски: preinstall, postinstall, prebuild, prerun и прочее. Если ты объявляешь её, то она выполняется. Само значение скрипта задаётся в виде sh-строки.

scripts: {
"my_task": "echo "hello world"",
"preinstall": "preinstall.sh"
}

@nixel2007
Copy link
Member

Перекладывая волшебные названия скриптов на рельсы опм, получаются волшебные названия тасков в каталоге тасков. Один волшебный таск у нас уже есть - это test. Он вызывается по короткому алиасу opm test, хотя может вызываться по полному имени как opm run test

@khorevaa
Copy link
Member

Давайте все же манифест в формате json... по аналогии с npm.....
Сейчас из-за этого не возможно скопилить приложение opm в exe

@nixel2007
Copy link
Member

Опм не компилируется ехе, потому что там используется загрузитьсценарий в манифесте. Если его убрать, то должен компилироваться. Так что формат пэкэдждефа тут не первопричина

@dmpas
Copy link
Member Author

dmpas commented Jul 17, 2018

нам нужен 1SON (на правах трололо)

@EvilBeaver
Copy link
Member

в формате 1SON (1S object notation) у как раз и есть сейчас. Лучшая нотация - никаких нотаций. Только динамически наполняемый объект )

@khorevaa
Copy link
Member

@nixel2007 Не только из-за ЗагрузитьСценарий в packagedef еще из-за того что сам packagedef тоже загружается через ЗагрузитьСценарий. А в exe данной функции нет.

@nixel2007
Copy link
Member

@khorevaa поясни, пожалуйста.

  1. opm читает свой собственный packagedef? Зачем?
  2. Прям вот совсем такой функции нет? Я думал проблемы только в (обычно) неверных путях, которые передают этой функции. т.к. они начинают шагать непонятно откуда и относительные каталоги ведут непонятно куда

@khorevaa
Copy link
Member

@nixel2007

  1. Вроде не читал!
  2. Функция в exe есть! Проблема только в относительных путях!

Хотя я все же за смену формата на json/yaml/toml/ini! -:) Столько всего можно реализовать!

@EvilBeaver
Copy link
Member

Ок, давайте введем новый формат описания packagedef. Допустим, сначала обрабатывается новый файл, а затем старый (или еще как)

@artbear
Copy link
Member

artbear commented Jul 2, 2024

уже 1.2.2 - закрываю тикет

@artbear artbear closed this as completed Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants