2012-01-23 23 views
3

我想访问的插件使用插件中的SBT项目的名称。如何访问插件中的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:

保罗·布彻的answer正确回答是我的问题,但我的问题是措辞不当。

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

希望与xsbt-reflect代码沿着SBT API /文档应该帮我解决这个问题。

回答

3

看看xsbt-reflect

+0

感谢。我现在就实施它。但我很好奇,至于为什么这个功能不是SBT的一部分。嗯..也许在未来的版本。 – Didia

+1

因此,sbt插件无法直接访问正在应用的项目的名称?更不用说多项目构建了吗?在最近的版本中已经增强了这种功能? – matanster

相关问题