oscript-library / opm

Пакетный менеджер OneScript
Apache License 2.0
67 stars 31 forks source link

Сделать отдельную библиотеку универсальных тасков для opm #47

Open artbear opened 7 years ago

artbear commented 7 years ago

Нужен набор универсальных тасков для opm

Сейчас приходится дублировать набор этих задач в каждом проекте. Причем для разных зада нужен индивидуальный набор задач.

Чтобы не нагружать движок opm, предлагаю выделить отдельную библиотеку opm-tasks

artbear commented 7 years ago

Создал заготовку https://github.com/oscript-library/opm-tasks

nixel2007 commented 7 years ago

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

artbear commented 7 years ago

Также мне нравится идея с регистрацией внешних тасков

https://github.com/oscript-library/gitsync/pull/45#issuecomment-280754954

  • opm register task create template-creator.os
  • opm run create lib

в рамках регистрации произвольных задач для opm

EvilBeaver commented 7 years ago

лучше своровать из yeoman

opm new application-template
artbear commented 7 years ago

@EvilBeaver opm new application-template это команда на создание таска или все-таки на создание шаблона библиотеки/приложения, что является назначением команды opm prepare ?

EvilBeaver commented 7 years ago

Да, это развитие opm-prepare. т.е. мы генерим новый проект по шаблону приложения. prepare по сути - это абстрактный пакет. а Шаблон - это уже определенный фреймворк с командами.

artbear commented 7 years ago

первое предложение частично понял, частично нет. 2-е предложение вообще не понял :) Опиши на коротких примерах, плиз, что должна выполнять команда opm prepare, а что команда opm new (если эта команда будет). Жду

EvilBeaver commented 7 years ago

opm - это встроенная команда, создающая заготовку пакета. opm new - это внешний таск. Такой же, как test и др. (см. тему данной issue)

asosnoviy commented 6 years ago

Апну ибо накипело.
На текущий момент есть: 2 стабильных таска: test.os coverage.os
Грубым напильником ЗапускательЗадач обучается искать таски не только в \tasks, но и в относительном каталоге opm.

Итого: профит есть, красоты нет... Как получить путь к каталогу библиотеки?

nixel2007 commented 6 years ago

Вообще каталог tasks можно переопределить в packagedef, но вопрос не об этом. Честный каталог библиотеки можно добыть, если поисследовать настройки lib.system и lib.additional и взять последнюю. Но проще будет взять текущий скрипт от запускается задач и его путь к каталогу. От него уже скакать вверх/вниз

artbear commented 6 years ago

Ага, мне также надоело копипастить.

@asosnoviy вот ты откуда берешь "стабильный" таск test.os ? у меня в нескольких репо расплодились чуть разные версии.

твой последний где?

asosnoviy commented 6 years ago

@artbear мой последний, это первый попавшийся из репозиториев @nixel2007 =))
https://github.com/oscript-library/irac/blob/master/tasks/test.os
Вот какой-то. С меня WIP. Дальше на коде обсудим

artbear commented 6 years ago

@asosnoviy Это очень старый вариант :(

В нем есть недостатки:

я в packman вроде бы добавлял последний актуальный