Sbt 为什么默认运行任务不在自定义配置中选择设置?

Sbt 为什么默认运行任务不在自定义配置中选择设置?,sbt,Sbt,我使用sbt 0.13.6-SNAPSHOT,它是从最新的源代码中构建的 这个问题是在我回应时提出来的 这是build.sbt: 它很好用 将从build.sbt中删除以下行: 为什么默认运行任务不适用于自定义模拟配置?请使用已发布的版本询问问题,如0.13.5 如果您运行inspect命令,应该清楚的是,您在删除run时没有定义run任务,它对Defaults.configSettings不起作用,所以当我将classpath.configSettings更改为Defaults.configS

我使用sbt 0.13.6-SNAPSHOT,它是从最新的源代码中构建的

这个问题是在我回应时提出来的

这是build.sbt:

它很好用

将从build.sbt中删除以下行:


为什么默认运行任务不适用于自定义模拟配置?

请使用已发布的版本询问问题,如0.13.5

如果您运行inspect命令,应该清楚的是,您在删除run时没有定义run任务,它对Defaults.configSettings不起作用,所以当我将classpath.configSettings更改为Defaults.configSettings时,包含run任务的configSettings会变得更糟:为什么?
lazy val Mock = config("mock") extend Compile

lazy val mock = inputKey[Unit]("run in mock mode")

lazy val mockSettings = inConfig(Mock) {
  Classpaths.configSettings ++
  Seq(
    unmanagedClasspath += baseDirectory.value / "mock-resources",
    mock <<= run in Mock,
    run <<= Defaults.runTask(fullClasspath in Mock, mainClass in Mock, runner in Mock)
  )
}

lazy val p = (project in file("src/")).configs(Mock).settings(
  mockSettings: _*
)
> mock
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:26:07 PM
> p/mock:run
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:26:34 PM
> p/mock:mock
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:27:01 PM
run <<= Defaults.runTask(fullClasspath in Mock, mainClass in Mock, runner in Mock)
> reload
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to mock-config (in build file:/Users/jacek/sandbox/mock-config/)
> p/mock:mock
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:31 PM
> p/mock:run
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:36 PM
> mock
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:39 PM
p> inspect mock:run
[info] Input task: Unit
[info] Description:
[info]  Runs a main class, passing along arguments provided on the command line.
[info] Provided by:
[info]  {file:/Users/foo/sbt-so-24981062/}p/compile:run
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:731