aboutsummaryrefslogtreecommitdiff
path: root/stage2
diff options
context:
space:
mode:
authorJan Christopher Vogt <oss.nsp@cvogt.org>2017-03-12 14:12:50 -0400
committerGitHub <noreply@github.com>2017-03-12 14:12:50 -0400
commitedb87b008ebed7a4b9d34bb04a4436b5d106a9e3 (patch)
tree399e7bda6ce27d916c531b94f010eba297b39179 /stage2
parent796a9f55e9400fb517ab918ad980a6eeeae58b85 (diff)
parent2c139c896ae4561bb584aa00e3ec1c88e0c8395b (diff)
downloadcbt-edb87b008ebed7a4b9d34bb04a4436b5d106a9e3.tar.gz
cbt-edb87b008ebed7a4b9d34bb04a4436b5d106a9e3.tar.bz2
cbt-edb87b008ebed7a4b9d34bb04a4436b5d106a9e3.zip
Merge pull request #424 from cvogt/fix-change-propagation
fix change propagation
Diffstat (limited to 'stage2')
-rw-r--r--stage2/BasicBuild.scala2
-rw-r--r--stage2/plugins/Dotty.scala6
-rw-r--r--stage2/plugins/Frege.scala6
3 files changed, 11 insertions, 3 deletions
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index bc6f9d9..d7bdfee 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -164,7 +164,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with Trigge
def compile: Option[Long] = taskCache[BaseBuild]("_compile").memoize{
lib.compile(
- context.cbtLastModified,
+ Math.max( context.cbtLastModified, context.parentBuild.map(_.lastModified).getOrElse(0L) ),
sourceFiles, compileTarget, compileStatusFile, compileDependencies,
context.paths.mavenCache, scalacOptions,
zincVersion = zincVersion, scalaVersion = scalaVersion
diff --git a/stage2/plugins/Dotty.scala b/stage2/plugins/Dotty.scala
index 01ffa27..0bbaf44 100644
--- a/stage2/plugins/Dotty.scala
+++ b/stage2/plugins/Dotty.scala
@@ -130,12 +130,16 @@ class DottyLib(
val classpath = d.classpath
val cp = classpath.string
+ def lastModified = (
+ cbtLastModified +: d.lastModified +: sourceFiles.map(_.lastModified)
+ ).max
+
if( sourceFiles.isEmpty ){
None
}else{
val start = System.currentTimeMillis
val lastCompiled = statusFile.lastModified
- if( d.lastModified > lastCompiled || sourceFiles.exists(_.lastModified > lastCompiled) ){
+ if( lastModified > lastCompiled ){
val _class = "dotty.tools.dotc.Main"
val dualArgs =
diff --git a/stage2/plugins/Frege.scala b/stage2/plugins/Frege.scala
index 3fcd56b..da5e54f 100644
--- a/stage2/plugins/Frege.scala
+++ b/stage2/plugins/Frege.scala
@@ -66,12 +66,16 @@ class FregeLib(
val classpath = d.classpath
val cp = classpath.string
+ def lastModified = (
+ cbtLastModified +: d.lastModified +: sourceFiles.map(_.lastModified)
+ ).max
+
if( sourceFiles.isEmpty ){
None
} else {
val start = System.currentTimeMillis
val lastCompiled = statusFile.lastModified
- if( d.lastModified > lastCompiled || sourceFiles.exists(_.lastModified > lastCompiled) ){
+ if( lastModified > lastCompiled ){
val _class = "frege.compiler.Main"
val fp = (fregeDependency.classpath.strings ++ fregeDependencies.map(_.classpath.string))