oscript-library / opm

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

Декларативное определение библиотеки на основе структуры проекта #203

Open yukon39 opened 2 years ago

yukon39 commented 2 years ago

Взято по аналогии со стандартами разработки Go (https://github.com/golang-standards/project-layout)

Реализовать декларативное описание библиотеки на основании структуры проекта. Например:

Для задания псевдонимов реализовать множественную аннотацию @Синоним/@Alias. Например: /cmd/main.os - имя по умолчанию - создается cmd по имени библиотеки. Для

@Alias vrunner
@Alias runner

Или реализовать alias.json в папке с файлом:

{
   "main.os": [ "vrunner", "runner" ]
}

Аналогично, для публичных классов/модулей.

Это позволит:

  1. Упростить описание проекта, полностью убрав, или разместив декларации объектов максимально приближенно к их определению
  2. Сделает проекты более структурированными, что повысит их читаемость и сопровождаемость
nixel2007 commented 2 years ago

Упростить описание проекта, полностью убрав, или разместив декларации объектов максимально приближенно к их определению

надо отметить, что указание ОпределяетКласс и ОпределяетМодуль - полностью опциональное. Если модули и классы лежат по соглашению о структуре каталогов, то загрузчик библиотек из сам загрузит в правильном виде.

EvilBeaver commented 2 years ago

Да, у нас и так в целом на основе структуры проекта загрузка ведется. Развивать понятно что можно и дальше. Надо проектировать каждый конкретный кейс: Цель, ЧтобыЧто. @yukon39 возьметесь?

yukon39 commented 2 years ago

@EvilBeaver К предложенной структуре проекта есть предложения/замечания? Я в рамках ее попробую что-нибудь реализовать.

EvilBeaver commented 2 years ago

Замечание одно - это слишком высокоуровневый набросок из которого непонятно есть к нему замечания или нет. Хотелось бы понять что делает каждая папка, как ее обрабатывает opm, что с ней делает автор проекта и т.п. Как это стыкуется с packegdef... Короче сейчас слишком мало информации для понимания предложения