如何使用sbt编译scala 2.11中的continuation

时间:2014-09-18 20:14:13

标签: scala sbt

我正在尝试使用scala 2.11.2中的continuation编译一个类,我无法用sbt编译它。该程序在使用scalac时编译,并且它按照我想要的方式工作,所以我知道它不是我的代码。

我使用

成功编译并运行
scalac -Xplugin ~/Software/scala-continuations-plugin_2.11.2-1.0.2.jar -P:continuations:enable Coroutine.scala

scala -Xplugin ~/Software/scala-continuations-plugin_2.11.2-1.0.2.jar -cp . coroutine.CoroutineTest

然而,当我尝试使用sbt进行编译时,我收到以下错误

[error] bad option: -P:continuations:enable

这是我的build.sbt文件

name := "coroutine"
version := "1.0"
scalaVersion := "2.11.2"
autoCompilerPlugins := true
libraryDependencies += "org.scala-lang.plugins" % "scala-continuations-plugin_2.11.2" % "1.0.2"
scalacOptions += "-P:continuations:enable"

您也可以在

中查看代码和sbt文件

http://www.cs.uga.edu/~jam/coroutine/Coroutine.scala

http://www.cs.uga.edu/~jam/coroutine/build.sbt

我也尝试使用scalacOptions来调用-Xplugins,就像我在上面的scalac命令中那样。这导致了错误

[error] bad option: '-Xplugin ~/Software/scala-continuations-plugin_2.11.2-1.0.2.jar'

1 个答案:

答案 0 :(得分:4)

您可能需要使用addCompilerPlugin添加continuations插件。此外,还需要scala-continuations-library_2.11。

name := "coroutine"

version := "1.0"

scalaVersion := "2.11.2"

autoCompilerPlugins := true

addCompilerPlugin("org.scala-lang.plugins" % "scala-continuations-plugin_2.11.2" % "1.0.2")

libraryDependencies += "org.scala-lang.plugins" % "scala-continuations-library_2.11" % "1.0.2"

scalacOptions += "-P:continuations:enable"