baseDirectoy is a setting. You can inspect it or simply show it's value it from an sbt session:
demo-equality$ sbt
[info] Loading global plugins from /Users/heiko/.sbt-0.12/plugins
[info] Loading project definition from /Users/heiko/projects/demo-equality/project
[info] Set current project to demo-equality (in build file:/Users/heiko/projects/demo-equality/)
> inspect base-directory
[info] Setting: java.io.File = /Users/heiko/projects/demo-equality
[info] Description:
[info] The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task.
[info] Provided by:
[info] {file:/Users/heiko/projects/demo-equality/}default-179d1d/*:base-directory
[info] Dependencies:
[info] *:this-project
[info] Reverse dependencies:
[info] *:target
[info] *:runner
[info] *:ivy-paths
[info] *:unmanaged-base
[info] *:source-directory
[info] Delegates:
[info] *:base-directory
[info] {.}/*:base-directory
[info] */*:base-directory
[info] Related:
[info] {.}/*:base-directory
> show base-directory
[info] /Users/heiko/projects/demo-equality
I think that Robin wanted to point out that you seem to ask the wrong question: As the whole sbt API is built around settings and tasks, all you can do with a setting is use it to define your own setting or task or redefine an existing one.
In order to help you, please describe your use case.
Heiko
--
Heiko Seeberger
Twitter: @hseeberger