SBT 0.13 中的任务定义不接受打印?

2023-12-08

我正在使用SBT0.13.1.

项目/build.properties如下:

sbt.version=0.13.1

执行中sbt about打印出以下内容:

$ sbt
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
[sbt-0-13-1]> about
[info] This is sbt 0.13.1
[info] The current project is {file:/Users/jacek/sandbox/so/sbt-0.13.1/}sbt-0-13-1 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.4-RC1
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, np.Plugin, net.virtualvoid.sbt.graph.Plugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3

通过以下任务 -hello - in build.sbt:

scalaVersion := "2.10.4-RC1"

lazy val hello = taskKey[Unit]("An example task")

hello := {
  print("Sleeping for a sec...")
  println("done.")
}

...and reload, sbt 报告[error] Type error in expression:

[sbt-0-13-1]> reload
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
/Users/jacek/sandbox/so/sbt-0.13.1/build.sbt:6: error: type mismatch;
 found   : String("Sleeping for a sec...")
 required: sbt.TaskKey[String]
  print("Sleeping for a sec...")
        ^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

当我改变时print to println任务定义正确。

Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? r
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
[sbt-0-13-1]> hello
Sleeping for a sec...
done.
[success] Total time: 0 s, completed Jan 4, 2014 10:31:43 AM

Is print任务定义中不被接受?


在...的帮助下施莱查特我终于可以找出是什么原因导致了不接受的问题print in the hello task.

事实证明,随着sbt-dependency-graph 插件在全局配置目录中,即~/.sbt/0.13/(或指定的目录sbt.global.base),sbt 无法初始化任务,因此出现错误。

$ cat plugins/sbt-dependency-graph.sbt
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.7.4")

$ cat sbt-dependency-graph.sbt
net.virtualvoid.sbt.graph.Plugin.graphSettings

要重现,请参阅以下 sbt 会话,以print (not println) in build.sbt and empty全局配置目录:

jacek:~/sandbox/so/sbt-0.13.1
$ tree
.
├── build.sbt
└── project
    └── build.properties

1 directory, 2 files

jacek:~/sandbox/so/sbt-0.13.1
$ cat build.sbt
scalaVersion := "2.10.4-RC1"

lazy val hello = taskKey[Unit]("An example task")

hello := {
  print("Sleeping for a sec...")
  println("done.")
}

jacek:~/sandbox/so/sbt-0.13.1
$ sbt -Dsbt.global.base=/tmp/so
Getting org.scala-sbt sbt 0.13.1 ...
:: retrieving :: org.scala-sbt#boot-app
    confs: [default]
    43 artifacts copied, 0 already retrieved (12646kB/154ms)
Getting Scala 2.10.3 (for sbt)...
:: retrieving :: org.scala-sbt#boot-scala
    confs: [default]
    5 artifacts copied, 0 already retrieved (24447kB/204ms)
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Updating {file:/Users/jacek/sandbox/so/sbt-0.13.1/project/}sbt-0-13-1-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
> hello
Sleeping for a sec...done.
[success] Total time: 0 s, completed Jan 4, 2014 1:35:22 PM

到目前为止它有效。

创建文件sbt-dependency-graph 插件在全局配置目录中。

jacek:/tmp/so
$ cat plugins/sbt-dependency-graph.sbt
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.7.4")

jacek:/tmp/so
$ cat sbt-dependency-graph.sbt
net.virtualvoid.sbt.graph.Plugin.graphSettings

...and reload.

> reload
[info] Loading global plugins from /private/tmp/so/plugins
[info] Updating {file:/tmp/so/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Updating {file:/Users/jacek/sandbox/so/sbt-0.13.1/project/}sbt-0-13-1-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
/Users/jacek/sandbox/so/sbt-0.13.1/build.sbt:6: error: type mismatch;
 found   : String("Sleeping for a sec...")
 required: sbt.TaskKey[String]
  print("Sleeping for a sec...")
        ^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

When print更改为println and (r)etry,它又工作正常了。

Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? r
[info] Loading global plugins from /private/tmp/so/plugins
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/)
> hello
Sleeping for a sec...
done.
[success] Total time: 0 s, completed Jan 4, 2014 1:43:59 PM
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SBT 0.13 中的任务定义不接受打印? 的相关文章

随机推荐

  • 深度学习中可能/也许的类别

    我有兴趣利用我在深度学习任务中拥有的一些部分标记的数据 我使用的是完全卷积方法 而不是从标记区域中采样补丁 我有一些掩模 可以勾勒出图像中明确的正例区域 但图像中未掩模的区域不一定是负的 它们可能是正的 有谁知道如何将此类课程融入深度学习环
  • 与 SQLAlchemy、SQLite 比较日期

    我正在编写一个使用 SQLAlchemy 和 SQLite 数据库的应用程序 我相信我的数据库 表和映射配置正确 因为其他操作按预期工作 我正在尝试编写一个函数 用于检索其日期字段与作为函数参数提供的 datetime date 相匹配的所
  • JSF 应用程序中可添加书签的 URL - 尝试使用 Spring Webflow 和 JSF。有什么建议么?

    您的应用程序是 JSF hibernate 和 Spring 目前 url 的格式如下 我们想要一个干净的网址 例如http www skill guru com urltitle some范围 我们可以实现此目的的方法之一是通过将 Spr
  • 从 ASP.NET GridView 获取 DataRow

    我有一个 ASP NETGridView这绑定到一个ObjectDataSource 绑定到MySQL数据库 在这个网格上 我有 2 个未绑定的ButtonField我想要触发服务器端事件的列 因此我添加了一个事件处理程序方法GridVie
  • 如何使用 C# 打印文本文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如何在 C 中打印文本文件 在控制台应用程序中 这是我发现的 msdn样本和这个stackoverflow 答案是msdn示例 链接中的代码适用于 Windows 窗体应用程序 不适
  • 根据时区在一天中的特定时间安排 Hangfire 作业

    在hangfire中 我可以安排一个作业在特定时间运行延迟调用方法 BackgroundJob Schedule gt Console WriteLine Hello world TimeSpan FromDays 1 我有一张包含以下信息
  • Woocommerce 中价格较低的产品的购物车折扣

    如何在产品购物车中为价格较低的产品应用折扣 例如 我的购物车中有两种产品 一种售价 150 美元 另一种售价 200 美元 我只想对成本较低的产品 在本例中为第一个产品 应用 10 的折扣 我有这个代码 但它仅适用于购物车中的第二个产品 a
  • git fetch 和 git fetch origin master 之间的区别

    I was 进行获取 合并并想知道这样做是否有什么区别 git fetch and git fetch origin master 我没有任何其他分支和起源点到我的remote repository在 GitHub 上 当我做 git fe
  • 在 Windows 中暂停进程

    我正在为 Windows 上的 ffmpeg 制作一个漂亮的小型 Python GUI 前端 专门设计用于将视频转换为 iPhone 友好的格式并自动将其导入 iTunes 并对其进行标记 并且我希望它能够工作 以便您可以暂停该过程并根据需
  • 带接口的 JsonConverter

    我有一个来自客户端的对象 并自动从 Web Api 2 反序列化 现在我的模型的一个属性有问题 该属性 CurrentField 是 IField 类型 并且该接口有 2 种不同的实现 这是我的模型 只是一个假人 public class
  • Google Maps API,InfoWindow domready 事件处理程序出错

    我正在信息信息窗口中设置一个表单 用于众包位置数据 我已经一切就绪并正在运行 但我试图在信息窗口弹出时将纬度和经度值复制到表单元素中 我在地图 div 上成功使用了其他事件侦听器 但是当我使用domready信息窗口的事件处理程序我收到错误
  • 是否可以使用 Java 格式化记忆棒、笔式驱动器或磁盘? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想创建一个多平台实用程序来格式化 擦除记忆棒 磁盘等 在Java中可以做到这一点吗 或者我是否需要为每个操作系统平台调用本机方法 这是非常特定于系统的 没有通用的方法来执行此操
  • 多个 if 语句的替代方案

    我的代码包含很多if声明 有没有其他方法可以摆脱这些陈述 例如假设我有以下条件 if t1 gt 1 t2 0 t3 0 div b class fadeIn if t1 0 t2 gt 1 t3 0 div c class fadeIn
  • 当选择选项时,Jquery 提交选择表单

    我有一个选择 有一个很长的列表 我可以在其中搜索它 使用 select2 jquery pluing 我的选择 using Html BeginForm ProjectList Client FormMethod Get new id cl
  • 在 JavaScript 中使异步事件同步

    我正在使用 WPF 3 5SP1 WebBrowser 控件来显示包含一些 javascript 函数的页面 然后我的程序需要调用一个 javascript 函数来进行异步调用 我需要一种方法将异步回调的结果返回到 C 以便我可以处理结果
  • 带有外键的 Django ModelForm

    我正在尝试创建一个ModelForm使用外键更新表 我所拥有的似乎有效 但我希望有人能告诉我是否有更好的方法来做到这一点 或者我在下面做的方式是否有问题 使用查询集是否正确Author and Genres桌子 感觉我应该在Book模型 并
  • R:当存在平局时,找到每行中具有最小值的列

    这是我的数据示例 gt dat lt matrix c 59 50 48 44 44 NA 78 59 42 67 51 NA 72 64 64 byrow TRUE ncol 3 gt k lt apply dat 1 function
  • 如何让 bash 脚本循环直到特定时间

    通常要运行无限 bash 循环 我会执行如下操作 while true do echo test sleep 1 done 相反 如果我想做一个只要早于 20 00 就无限循环的循环 该怎么办 有没有办法在 bash 中做到这一点 您可以使
  • 在 Android Gradle 构建之前执行任务?

    Gradle 是否可以在调用之前执行任务 gradle build 就像是precompile 请有人帮忙 这样的事情可能吗 如何实现 你可以这样做 task build lt lt println build task preBuild
  • SBT 0.13 中的任务定义不接受打印?

    我正在使用SBT0 13 1 项目 build properties如下 sbt version 0 13 1 执行中sbt about打印出以下内容 sbt info Loading global plugins from Users j