2012-01-23 21 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

相關問題