aboutsummaryrefslogtreecommitdiff
path: root/stage2
diff options
context:
space:
mode:
authorrockjam <rockjam@actor.im>2016-10-04 20:18:32 +0300
committerrockjam <rockjam@actor.im>2016-10-05 00:58:32 +0300
commit1a8c713465c304d95cd2cbf94935fb59afca8a27 (patch)
treede3b7ca4296f5289b5ff84ec7da2d177e23dbfaf /stage2
parent3ccf39b2c5cddd6263d6dc170c3bc62137d0c5b8 (diff)
downloadcbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.tar.gz
cbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.tar.bz2
cbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.zip
add repl task to BaseBuild
Diffstat (limited to 'stage2')
-rw-r--r--stage2/BasicBuild.scala32
-rw-r--r--stage2/plugins/Dotty.scala2
2 files changed, 25 insertions, 9 deletions
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index 007c27e..8c65f3f 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -2,12 +2,6 @@ package cbt
import java.io._
import java.net._
-import java.nio.file.{Path =>_,_}
-import java.nio.file.Files.readAllBytes
-import java.security.MessageDigest
-import java.util.jar._
-
-import scala.util._
class BasicBuild(val context: Context) extends BaseBuild
trait BaseBuild extends BuildInterface with DependencyImplementation with TriggerLoop with SbtDependencyDsl{
@@ -146,7 +140,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with Trigge
ExitCode.Success
}
- def clean = {
+ def clean: ExitCode = {
lib.clean(
target,
context.args.contains("force"),
@@ -156,7 +150,29 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with Trigge
)
}
- def test: Option[ExitCode] =
+ def repl: ExitCode = {
+ lib.consoleOrFail("Use `cbt direct repl` instead")
+
+ val colorized = "scala.color"
+ if(Option(System.getProperty(colorized)).isEmpty) {
+ // set colorized REPL, if user didn't pass own value
+ System.setProperty(colorized, "true")
+ }
+
+ val scalac = new ScalaCompilerDependency(context.cbtHasChanged, context.paths.mavenCache, scalaVersion)
+ lib.runMain(
+ "scala.tools.nsc.MainGenericRunner",
+ Seq(
+ "-bootclasspath",
+ scalac.classpath.string,
+ "-classpath",
+ classpath.string
+ ) ++ context.args,
+ scalac.classLoader(classLoaderCache)
+ )
+ }
+
+ def test: Option[ExitCode] =
Some(new lib.ReflectBuild(
DirectoryDependency(projectDirectory++"/test").build
).callNullary(Some("run")))
diff --git a/stage2/plugins/Dotty.scala b/stage2/plugins/Dotty.scala
index 50255d5..8671fb6 100644
--- a/stage2/plugins/Dotty.scala
+++ b/stage2/plugins/Dotty.scala
@@ -28,7 +28,7 @@ trait Dotty extends BaseBuild{
sourceFiles, compileClasspath, docTarget, dottyOptions
)
- def repl = dottyLib.repl(context.args, classpath)
+ override def repl = dottyLib.repl(context.args, classpath)
override def dependencies = Resolver(mavenCentral).bind(
ScalaDependency( "org.scala-lang.modules", "scala-java8-compat", "0.8.0-RC7" )