aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Farmer <matt@frmr.me>2016-03-05 18:08:07 -0500
committerMatt Farmer <matt@frmr.me>2016-03-05 18:08:07 -0500
commit005f835ef9773e6de8d07d12de01690f95cef20c (patch)
treec2964353ea7db12c148771c786aa76bb2e03c7a3
parenta2eec03dc502b02908a00eb527bb297d5c91a6d5 (diff)
downloadcbt-005f835ef9773e6de8d07d12de01690f95cef20c.tar.gz
cbt-005f835ef9773e6de8d07d12de01690f95cef20c.tar.bz2
cbt-005f835ef9773e6de8d07d12de01690f95cef20c.zip
Some style cleanups in Stage1.
-rw-r--r--stage1/Stage1.scala83
-rw-r--r--stage2/AdminStage2.scala2
-rw-r--r--stage2/Stage2.scala4
3 files changed, 50 insertions, 39 deletions
diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala
index 13c097e..6c05f00 100644
--- a/stage1/Stage1.scala
+++ b/stage1/Stage1.scala
@@ -1,70 +1,81 @@
package cbt
+
import java.io._
-import paths._
+import java.time.LocalTime.now
+
import scala.collection.immutable.Seq
+import scala.collection.JavaConverters._
+
+import paths._
object CheckAlive{
def main(args: Array[String]): Unit = {
System.exit(33)
}
}
+
+class Init(args: Array[String]) {
+ /**
+ * Raw parameters including their `-D` flag.
+ **/
+ val propsRaw: Seq[String] = args.toVector.filter(_.startsWith("-D"))
+
+ /**
+ * All arguments that weren't `-D` property declarations.
+ **/
+ val argsV: Seq[String] = args.toVector diff propsRaw
+
+ /**
+ * Parsed properties, as a map of keys to values.
+ **/
+ lazy val props = propsRaw
+ .map(_.drop(2).split("=")).map({
+ case Array(key, value) =>
+ key -> value
+ }).toMap ++ System.getProperties.asScala
+
+ val logger = new Logger(props.get("log"))
+
+ val cwd = argsV(0)
+}
+
object Stage1 extends Stage1Base{
def mainClass = ("cbt.Stage2")
}
+
object AdminStage1 extends Stage1Base{
def mainClass = ("cbt.AdminStage2")
}
-abstract class Stage1Base{
- class Init(args: Array[String]){
- import scala.collection.JavaConverters._
- val propsRaw: Seq[String] = args.toVector.filter(_.startsWith("-D"))
- val argsV: Seq[String] = args.toVector diff propsRaw
- lazy val props = propsRaw.map(_.drop(2)).map(_.split("=")).map{
- case Array(key, value) => key -> value
- }.toMap ++ System.getProperties.asScala
- val logger = new Logger(props.get("log"))
+abstract class Stage1Base{
+ def mainClass: String
- val cwd = argsV(0)
+ protected def newerThan( a: File, b: File ) ={
+ a.lastModified > b.lastModified
}
- def mainClass: String
+
def main(args: Array[String]): Unit = {
- import java.time.LocalTime.now
val init = new Init(args)
val lib = new Stage1Lib(init.logger)
+
lib.logger.stage1(s"[$now] Stage1 start")
lib.logger.stage1("Stage1: after creating lib")
- import lib._
+
val cwd = args(0)
- val src = stage2.listFiles.toVector.filter(_.isFile).filter(_.toString.endsWith(".scala"))
+ val src = stage2.listFiles.toVector.filter(_.isFile).filter(_.toString.endsWith(".scala"))
val changeIndicator = new File(stage2Target+"/cbt/Build.class")
- def newerThan( a: File, b: File ) ={
- val res = a.lastModified > b.lastModified
- if(res) {
- /*
- println(a)
- println(a.lastModified)
- println(b)
- println(b.lastModified)
- */
- }
- res
- }
-
- logger.stage1("before conditionally running zinc to recompile CBT")
- if( src.exists(newerThan(_, changeIndicator)) ){
+ lib.logger.stage1("before conditionally running zinc to recompile CBT")
+ if( src.exists(newerThan(_, changeIndicator)) ) {
val stage1Classpath = CbtDependency(init.logger).dependencyClasspath
- logger.stage1("cbt.lib has changed. Recompiling with cp: "+stage1Classpath)
+ lib.logger.stage1("cbt.lib has changed. Recompiling with cp: "+stage1Classpath)
lib.zinc( true, src, stage2Target, stage1Classpath )( zincVersion = "0.3.9", scalaVersion = constants.scalaVersion )
}
- logger.stage1(s"[$now] calling CbtDependency.classLoader")
+ lib.logger.stage1(s"[$now] calling CbtDependency.classLoader")
- logger.stage1(s"[$now] Run Stage2")
+ lib.logger.stage1(s"[$now] Run Stage2")
lib.runMain( mainClass, cwd +: args.drop(1).toVector, CbtDependency(init.logger).classLoader )
lib.logger.stage1(s"[$now] Stage1 end")
-
-
- }
+ }
}
diff --git a/stage2/AdminStage2.scala b/stage2/AdminStage2.scala
index e7e2284..d3db3e7 100644
--- a/stage2/AdminStage2.scala
+++ b/stage2/AdminStage2.scala
@@ -1,7 +1,7 @@
package cbt
object AdminStage2{
def main(args: Array[String]) = {
- val init = new Stage1.Init(args.drop(3))
+ val init = new Init(args.drop(3))
val lib = new Lib(init.logger)
val adminTasks = new AdminTasks(lib, args.drop(3))
new lib.ReflectObject(adminTasks){
diff --git a/stage2/Stage2.scala b/stage2/Stage2.scala
index 05b7c58..44db3ae 100644
--- a/stage2/Stage2.scala
+++ b/stage2/Stage2.scala
@@ -6,7 +6,7 @@ import scala.collection.immutable.Seq
object Stage2{
def main(args: Array[String]) = {
import java.time.LocalTime.now
- val init = new Stage1.Init(args)
+ val init = new Init(args)
import java.time._
val start = LocalTime.now()
def timeTaken = Duration.between(start, LocalTime.now()).toMillis
@@ -18,7 +18,7 @@ object Stage2{
val taskIndex = if(loop || direct) 2 else 1
val task = argsV.lift( taskIndex )
- val lib = new Lib(new Stage1.Init(args).logger)
+ val lib = new Lib(new Init(args).logger)
val context = Context( cwd, argsV.drop( taskIndex + 1 ), logger )
val first = lib.loadRoot( context )