Scala 如何访问SBT项目&x27;插件中的设置?

Scala 如何访问SBT项目&x27;插件中的设置?,scala,sbt,Scala,Sbt,我想访问在插件中使用插件的SBT项目的名称 在build.sbt中,我有以下内容: name := "x_include" 我假设通过使用name.key.label可以很直接地获得这个。但是,这段代码返回在SBT的Keys.scala中指定的项目的默认名称“name” 我最初认为这可能是某种加载/计时问题,但由于以下控制台输出,这似乎不太可能: [info] Loading global plugins from /Users/ndidialaneme/.sbt/plugins [info]

我想访问在插件中使用插件的SBT项目的名称

build.sbt
中,我有以下内容:

name := "x_include"
我假设通过使用
name.key.label
可以很直接地获得这个。但是,这段代码返回在SBT的
Keys.scala
中指定的项目的默认名称“name”

我最初认为这可能是某种加载/计时问题,但由于以下控制台输出,这似乎不太可能:

[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
上面输出的第三行清楚地使用了我的项目名称,而最后一行没有

有什么建议吗


更新:

保罗·布彻的正确答案是我的问题,然而我的问题措辞拙劣

我正在开发一个SBT插件。返回给我的名称是插件的名称,这是可以理解的。我实际需要它返回的是使用插件的项目的名称。我已经看到这增加了相当多的复杂性,但是我不认为它不可能实现


希望SBT api/文档以及代码能够帮助我解决这个问题。

请看一看。

谢谢。我现在就实施它。不过,我很好奇为什么这个功能不是SBT的一部分。隐马尔可夫模型。。也许在将来的版本中。那么sbt插件不能直接访问它正在应用的项目的名称?更不用说多项目构建了?在最新版本中,sbt是否使用此功能进行了增强?这个答案可能非常相关: