diff options
author | rockjam <rockjam@actor.im> | 2016-10-04 20:18:32 +0300 |
---|---|---|
committer | rockjam <rockjam@actor.im> | 2016-10-05 00:58:32 +0300 |
commit | 1a8c713465c304d95cd2cbf94935fb59afca8a27 (patch) | |
tree | de3b7ca4296f5289b5ff84ec7da2d177e23dbfaf /stage2/BasicBuild.scala | |
parent | 3ccf39b2c5cddd6263d6dc170c3bc62137d0c5b8 (diff) | |
download | cbt-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.scala | 32 |
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"))) |