Я хотел бы получить доступ к названию проекта SBT, который использует плагин в плагине.
В пределах build.sbt
У меня есть следующее:
name := "x_include"
Я предполагал, что получить это будет довольно просто с помощью name.key.label
. Этот фрагмент кода, однако, возвращает имя проекта по умолчанию, «имя», указанное в SBT Keys.scala
.
Сначала я подумал, что это может быть какая-то проблема с загрузкой / синхронизацией, однако это маловероятно из-за следующего вывода на консоль:
[info] Loading global plugins from /Users/ndidialaneme/.sbt/plugins
[info] Loading project definition from /Users/ndidialaneme/Sandbox/sbt-docbook-plugin/src/sbt-test/docbook/x_include/project
[info] Set current project to x_include (in build file:/Users/ndidialaneme/Sandbox/sbt-docbook-plugin/src/sbt-test/docbook/x_include/)
[info] Updating {file:/Users/ndidialaneme/Sandbox/sbt-docbook-plugin/src/sbt-test/docbook/x_include/}default-b1b964...
...
[info] **** Project: name
Третья строка в вышеприведенном выводе явно использует имя моего проекта, в то время как последняя строка - нет.
Любой совет?
UPDATE:
Пол Батчер ответ правильно ответил на мой вопрос, однако мой вопрос сформулирован плохо.
Я работаю над плагином SBT. Имя, которое мне возвращают, понятно, это название плагина. На самом деле мне нужно вернуть имя проекта, использующего плагин. Я уже вижу, что это добавляет изрядную сложность, но я не думаю, что это невозможно реализовать.
Надеемся, что API / документация SBT вместе с xsbt-refle помогут мне решить эту проблему.