aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-03-06 12:46:06 -0500
committerChristopher Vogt <oss.nsp@cvogt.org>2016-03-06 12:46:06 -0500
commiteea3e473885c12c34bc483eb27cceaa21df051f7 (patch)
treec6f528ebd92c355f897aabf9166d1fdff744e035
parentf4fa7f48e6a09785eda7c24542e7e3eb0235b33e (diff)
downloadcbt-eea3e473885c12c34bc483eb27cceaa21df051f7.tar.gz
cbt-eea3e473885c12c34bc483eb27cceaa21df051f7.tar.bz2
cbt-eea3e473885c12c34bc483eb27cceaa21df051f7.zip
The condition disables zinc too eagerly, which can easily
lead to half compiled sets of class files after a type error and no attempt to re-compile unless a source file is changed. This workaround fixes it but needs to run zinc more often which comes with a roughly 0.1 seconds time penalty every time (despite classloader caching) for every involved sub build. A fix would trep zinc's exit code (or call zinc differently) in order to determine if it succeeded and if it did not do something that makes it run again the next time, like deleting the class files or touching a source file. Probably there is a better way.
-rw-r--r--stage1/Stage1Lib.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala
index 6ab19e0..e1b9d3d 100644
--- a/stage1/Stage1Lib.scala
+++ b/stage1/Stage1Lib.scala
@@ -130,7 +130,7 @@ class Stage1Lib( val logger: Logger ){
// only run zinc if files changed, for performance reasons
// FIXME: this is broken, need invalidate on changes in dependencies as well
- if( /*true || */ needsRecompile ){
+ if( true || needsRecompile ){
val zinc = MavenDependency("com.typesafe.zinc","zinc", zincVersion)(logger)
val zincDeps = zinc.transitiveDependencies