【问题标题】:SBT task executed twiceSBT 任务执行了两次
【发布时间】:2015-09-30 19:42:07
【问题描述】:

我正在尝试创建自定义 SBT 任务。我的问题是任务执行了两次,任务的输出是交错的,这表明并行执行。这是我正在创建的任务的一个缩小示例:

theproject/project/ModuleTemplate.scala:

object ModuleTemplate extends Build {
  lazy val createModule = inputKey[Unit]("Create a new module")
  override def settings = super.settings ++ Seq(
    createModule := {
      println("creating module...")
      println("interleaved")
    }
  )
}

在 sbt 控制台(play createModule)中执行此任务的输出:

creating module bla...
interleaved
creating module bla...
interleaved

知道是什么原因造成的吗?提前致谢

【问题讨论】:

  • 不应该是configKey 而不是inputeKey吗?
  • @ayvango 一个 inputKey 定义了一个可以接受输入参数的任务:scala-sbt.org/0.13/docs/Input-Tasks.html
  • 是的,我知道,但我发现示例中没有用户输入请求

标签: scala sbt


【解决方案1】:

显然,来自 IntelliJ 的项目文件或 SBT 文件存在问题,干扰了任务执行。无论如何,我删除了所有由 SBT 和 IntelliJ 生成的文件,问题就解决了。

【讨论】:

    猜你喜欢
    • 2017-08-19
    • 2014-09-28
    • 1970-01-01
    • 2015-07-08
    • 2012-10-07
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多