2016-07-23 77 views
0

我修改了scala编译器的源代码并构建它。现在我想测试这个编译器。但是,许多现有的scala项目使用sbt作为构建工具。所以我想知道是否可以用我自己构建的scala编译器替换sbt使用的官方scala编译器。是否可以指定sbt使用的scala编译器?

回答

0

http://www.scala-sbt.org/1.0/docs/Configuring-Scala.html#Using+Scala+from+a+local+directory

从源代码构建斯卡拉的结果是Scala的主目录<base>/build/pack/包含包含Scala库,编译器和其它罐子子目录lib/。通过下载和提取Scala发行版获得相同的目录布局。通过设置scalaHome,可以将此类Scala主目录用作jar的源代码。例如,

scalaHome := Some(file("/home/user/scala-2.10/")) 

如果你想publish编译器,使用@ ipoteka的答案。

+0

谢谢。但我发现我应该设置scalaHome:=一些(文件(“/ home/user/scala-2.10/build/pack”))。 :) –

0

根据docs这是直截了当:

managedScalaInstance := false 

libraryDependencies += "yourPackage" % "yourScalaCompiler" % version 

不要忘了publish-local你编译器首先。

+0

根据文档,这个片段不起作用(依赖关系是错误的配置,没有scala库依赖,''yourScalaCompiler'''必须''scala-compiler'''')。改用那里给出的那个。 –

相关问题