diff options
-rw-r--r-- | nailgun_launcher/NailgunLauncher.java | 8 | ||||
-rw-r--r-- | stage1/Stage1.scala | 11 | ||||
-rw-r--r-- | stage1/logger.scala | 10 | ||||
-rw-r--r-- | stage1/resolver.scala | 4 | ||||
-rw-r--r-- | stage2/Lib.scala | 2 | ||||
-rw-r--r-- | stage2/Stage2.scala | 6 | ||||
-rw-r--r-- | test/test.scala | 2 |
7 files changed, 19 insertions, 24 deletions
diff --git a/nailgun_launcher/NailgunLauncher.java b/nailgun_launcher/NailgunLauncher.java index a7d89e2..a12d059 100644 --- a/nailgun_launcher/NailgunLauncher.java +++ b/nailgun_launcher/NailgunLauncher.java @@ -44,7 +44,7 @@ public class NailgunLauncher{ MalformedURLException, IOException, NoSuchAlgorithmException { - long now = System.currentTimeMillis(); + long start = System.currentTimeMillis(); //System.err.println("ClassLoader: "+stage1classLoader); //System.err.println("lastSuccessfullCompile: "+lastSuccessfullCompile); //System.err.println("now: "+now); @@ -79,7 +79,7 @@ public class NailgunLauncher{ EarlyDependencies earlyDeps = new EarlyDependencies(); int exitCode = zinc(earlyDeps, stage1SourceFiles); if( exitCode == 0 ){ - lastSuccessfullCompile = now; + lastSuccessfullCompile = start; } else { System.exit( exitCode ); } @@ -99,8 +99,8 @@ public class NailgunLauncher{ Integer exitCode = (Integer) stage1classLoader .loadClass("cbt.Stage1") - .getMethod("run", String[].class, ClassLoader.class, Boolean.class) - .invoke( null, (Object) args, stage1classLoader, changed); + .getMethod("run", String[].class, ClassLoader.class, Boolean.class, Long.class) + .invoke( null, (Object) args, stage1classLoader, changed, start); System.exit(exitCode); }catch(Exception e){ System.err.println(stage1classLoader); diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala index 050d494..3456e1f 100644 --- a/stage1/Stage1.scala +++ b/stage1/Stage1.scala @@ -1,7 +1,6 @@ package cbt import java.io._ -import java.time.LocalTime.now import scala.collection.immutable.Seq import scala.collection.JavaConverters._ @@ -50,9 +49,9 @@ object Stage1{ a.lastModified > b.lastModified } - def run(_args: Array[String], classLoader: ClassLoader, _cbtChanged: java.lang.Boolean): Int = { + def run(_args: Array[String], classLoader: ClassLoader, _cbtChanged: java.lang.Boolean, start: java.lang.Long): Int = { val args = Stage1ArgsParser(_args.toVector) - val logger = new Logger(args.enabledLoggers) + val logger = new Logger(args.enabledLoggers, start) logger.stage1(s"Stage1 start") val lib = new Stage1Lib(logger) @@ -70,12 +69,12 @@ object Stage1{ zincVersion = "0.3.9", scalaVersion = constants.scalaVersion ) - logger.stage1(s"[$now] calling CbtDependency.classLoader") + logger.stage1(s"calling CbtDependency.classLoader") if(cbtHasChanged){ NailgunLauncher.stage2classLoader = CbtDependency().classLoader(classLoaderCache) } - logger.stage1(s"[$now] Run Stage2") + logger.stage1(s"Run Stage2") val exitCode = ( NailgunLauncher.stage2classLoader.loadClass( if(args.admin) "cbt.AdminStage2" else "cbt.Stage2" @@ -95,7 +94,7 @@ object Stage1{ case _ => ExitCode.Success } ).integer - logger.stage1(s"[$now] Stage1 end") + logger.stage1(s"Stage1 end") return exitCode; } } diff --git a/stage1/logger.scala b/stage1/logger.scala index e513443..91a2412 100644 --- a/stage1/logger.scala +++ b/stage1/logger.scala @@ -1,7 +1,5 @@ package cbt -import java.time._ - /** * This represents a logger with namespaces that can be enabled or disabled as needed. The * namespaces are defined using {{enabledLoggers}}. Possible values are defined in the subobject @@ -9,13 +7,11 @@ import java.time._ * * We can replace this with something more sophisticated eventually. */ -case class Logger(enabledLoggers: Set[String]) { - def this(enabledLoggers: Option[String]) = this( enabledLoggers.toVector.flatMap( _.split(",") ).toSet ) - - val start = LocalTime.now() +case class Logger(enabledLoggers: Set[String], start: Long) { + def this(enabledLoggers: Option[String], start: Long) = this( enabledLoggers.toVector.flatMap( _.split(",") ).toSet, start ) def log(name: String, msg: => String) = { - val timeTaken = (Duration.between(start, LocalTime.now()).toMillis.toDouble / 1000).toString + val timeTaken = ((start - System.currentTimeMillis) / 1000).toString System.err.println( s"[${" "*(6-timeTaken.size)}$timeTaken][$name] $msg" ) } diff --git a/stage1/resolver.scala b/stage1/resolver.scala index ea20b89..e8bfc07 100644 --- a/stage1/resolver.scala +++ b/stage1/resolver.scala @@ -1,5 +1,6 @@ package cbt import java.nio.file._ +import java.nio.charset.StandardCharsets import java.net._ import java.io._ import scala.collection.immutable.Seq @@ -323,7 +324,8 @@ case class BoundMavenDependency( private def resolveHash(suffix: String) = { Files.readAllLines( - resolve( suffix ++ ".sha1", None ).toPath + resolve( suffix ++ ".sha1", None ).toPath, + StandardCharsets.UTF_8 ).mkString("\n").split(" ").head.trim } diff --git a/stage2/Lib.scala b/stage2/Lib.scala index aa731d8..6b6263c 100644 --- a/stage2/Lib.scala +++ b/stage2/Lib.scala @@ -133,7 +133,7 @@ final class Lib(logger: Logger) extends Stage1Lib(logger) with Scaffold{ .filter{ m => java.lang.reflect.Modifier.isPublic(m.getModifiers) } - .filter( _.getParameterCount == 0 ) + .filter( _.getParameterTypes.length == 0 ) .map(m => NameTransformer.decode(m.getName) -> m) ).toMap diff --git a/stage2/Stage2.scala b/stage2/Stage2.scala index cecd59b..4ae149c 100644 --- a/stage2/Stage2.scala +++ b/stage2/Stage2.scala @@ -1,8 +1,6 @@ package cbt import java.io._ -import java.time._ -import java.time.LocalTime.now import scala.collection.immutable.Seq @@ -14,7 +12,7 @@ object Stage2 extends Stage2Base{ val lib = new Lib(args.logger) - logger.stage2(s"[$now] Stage2 start") + logger.stage2(s"Stage2 start") val loop = args.args.lift(0) == Some("loop") val direct = args.args.lift(0) == Some("direct") @@ -54,6 +52,6 @@ object Stage2 extends Stage2Base{ new lib.ReflectBuild(build).callNullary(task) } - logger.stage2(s"[$now] Stage2 end") + logger.stage2(s"Stage2 end") } } diff --git a/test/test.scala b/test/test.scala index 2c4f391..7bd2c6a 100644 --- a/test/test.scala +++ b/test/test.scala @@ -7,7 +7,7 @@ import java.io.File object Main{ def main(_args: Array[String]): Unit = { val args = new Stage1ArgsParser(_args.toVector) - implicit val logger: Logger = new Logger(args.enabledLoggers) + implicit val logger: Logger = new Logger(args.enabledLoggers, System.currentTimeMillis) val lib = new Lib(logger) var successes = 0 |