aboutsummaryrefslogtreecommitdiff
path: root/stage2/BasicBuild.scala
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/BasicBuild.scala
parent3ccf39b2c5cddd6263d6dc170c3bc62137d0c5b8 (diff)
downloadcbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.tar.gz
cbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.tar.bz2
cbt-1a8c713465c304d95cd2cbf94935fb59afca8a27.zip
add repl task to BaseBuild
Diffstat (limited to 'stage2/BasicBuild.scala')
-rw-r--r--stage2/BasicBuild.scala32
1 files changed, 24 insertions, 8 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")))