aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nailgun_launcher/NailgunLauncher.java8
-rw-r--r--stage1/Stage1.scala11
-rw-r--r--stage1/logger.scala10
-rw-r--r--stage1/resolver.scala4
-rw-r--r--stage2/Lib.scala2
-rw-r--r--stage2/Stage2.scala6
-rw-r--r--test/test.scala2
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