diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-03-06 12:46:06 -0500 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-03-06 12:46:06 -0500 |
commit | eea3e473885c12c34bc483eb27cceaa21df051f7 (patch) | |
tree | c6f528ebd92c355f897aabf9166d1fdff744e035 | |
parent | f4fa7f48e6a09785eda7c24542e7e3eb0235b33e (diff) | |
download | cbt-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.scala | 2 |
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 |