Ответ 1
tl; dr У вас не может быть проекта плагина и его можно протестировать без использования другого проекта.
Плагин улучшает определение сборки проекта, поэтому вы настраиваете плагин, который расширяет проект с помощью возможностей, которые вы хотите - дополнительные настройки и задачи. См. Plugins в официальной документации sbt.
Вы устанавливаете плагины в метапроекте в каталоге project
, обычно в project/plugins.sbt
(но любой файл project/*.sbt
).
Если вам нужно протестировать плагин, у вас есть два заметных варианта, которые все сводятся к тому, чтобы иметь отдельный проект для плагина, а другой - использовать его - выбор касается места, где тестовый проект по сравнению с тестируемого проекта плагинов.
Проект плагинов в метапроекте project
У вас могут быть источники плагина под project/src/main/scala
, поэтому они принадлежат к их собственному проекту, но из-за каталога, в котором они живут в project
, они автоматически становятся частью метапроекта для другого проекта на один уровень вверх.
С источниками плагина внутри метапроекта project
вы можете определить зависимость плагина в project/plugins.sbt
и установить плагин (с учетом последних изменяется на sbt с 0.13.5, это не обязательно означает, что плагин включен).
Проект плагина в любом месте
Проект плагина представляет собой проект sbt и, как таковой, можно ссылаться на другой проект sbt с помощью ProjectRef
. Если это проект git://
или file://
, вы объявляете зависимость от проекта плагина, используя dependsOn
и ссылку на проект с помощью ProjectRef
.
См. Можно ли использовать несколько проектов из GIT в качестве зависимостей SBT? и Как можно удалить артефакты зависимостей sbt git?.