как создать модель проекта scala sbt, которая представляет собой модель для других проектов sbt? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть проект scala js sbt, в этом проекте я разработал новые компоненты пользовательского интерфейса.

у человека p1 есть проект с такой же структурой (тот же build.properties & plugins.sbt), как он может получить доступ к моим компонентам пользовательского интерфейса.

Следует ли мне добавить некоторую спецификацию в сборку .sbt?

1 Ответ

1 голос
/ 29 мая 2020

Если вы хотите поделиться некоторыми настройками проекта, вы можете создать плагин sbt - он позволит вам иметь некоторые общие настройки, добавлять зависимости к другим плагинам sbt и даже переопределять их конфигурацию. См., Например, sbt-softwaremill в качестве примера плагина, который используется для совместного использования некоторых общих ресурсов между проектами.

Он не будет волшебным образом обновлять все конфигурации, потому что:

  • build.properties оценивается перед запуском sbt-кода
  • вы должны добавить этот плагин к plugins.sbt
  • вы должны создать структуру проекта в каждом проекте

Любое большее совместное использование конфигурации, чем это теоретически возможно, например, с использованием подмодулей git и фиксации символических ссылок на репо, но это было бы совершенно неправильно - любое изменение в одном проекте приведет к изменению в другом проекте, и у вас есть они разделены по какой-то причине - если бы оба проекта были одинаковыми, у вас в первую очередь был бы один проект.

И если вам нужно поделиться самим кодом, вы можете создать код, publi sh it в артефактор и добавить зависимость в другой проект.

Но это только в том случае, если у вас действительно два проекта, и вполне возможно, что вам просто нужен один git проект с разными ветвями, где бы разработчик работал над своей собственной веткой, а затем объединял изменения в общую ветку, потому что в этом смысл использования git.

...