aboutsummaryrefslogtreecommitdiff
path: root/stage1/cbt.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage1/cbt.scala')
-rw-r--r--stage1/cbt.scala23
1 files changed, 14 insertions, 9 deletions
diff --git a/stage1/cbt.scala b/stage1/cbt.scala
index 01c9303..0b0ccbf 100644
--- a/stage1/cbt.scala
+++ b/stage1/cbt.scala
@@ -33,6 +33,11 @@ object `package`{
def ++( s: String ): URL = new URL( url.toString ++ s )
def string = url.toString
}
+ implicit class SeqExtensions[T](seq: Seq[T]){
+ def maxOption(implicit ev: Ordering[T]): Option[T] = try{ Some(seq.max) } catch {
+ case e:java.lang.UnsupportedOperationException if e.getMessage === "empty.max" => None
+ }
+ }
implicit class BuildInterfaceExtensions(build: BuildInterface){
import build._
// TODO: if every build has a method triggers a callback if files change
@@ -52,30 +57,30 @@ object `package`{
def exportedClasspath: ClassPath = ClassPath(exportedClasspathArray.to)
def classpath = exportedClasspath ++ dependencyClasspath
def dependencies: Seq[Dependency] = dependenciesArray.to
- def needsUpdate: Boolean = needsUpdateCompat
}
implicit class ContextExtensions(subject: Context){
import subject._
val paths = CbtPaths(cbtHome, cache)
implicit def logger: Logger = new Logger(enabledLoggers, start)
- def classLoaderCache: ClassLoaderCache = new ClassLoaderCache( logger, persistentCache )
- def cbtDependency = {
+ def classLoaderCache: ClassLoaderCache = new ClassLoaderCache( persistentCache )
+ def cbtDependencies = {
import paths._
- new CbtDependency(cbtHasChanged, mavenCache, nailgunTarget, stage1Target, stage2Target, compatibilityTarget)(logger, transientCache)
+ new CbtDependencies(mavenCache, nailgunTarget, stage1Target, stage2Target, compatibilityTarget)(logger, transientCache)
}
+ val cbtDependency = cbtDependencies.stage2Dependency
+
def args: Seq[String] = argsArray.to
def enabledLoggers: Set[String] = enabledLoggersArray.to
def scalaVersion = Option(scalaVersionOrNull)
def parentBuild = Option(parentBuildOrNull)
- def start: scala.Long = startCompat
- def cbtHasChanged: scala.Boolean = cbtHasChangedCompat
+ def cbtLastModified: scala.Long = subject.cbtLastModified
def copy(
projectDirectory: File = projectDirectory,
args: Seq[String] = args,
//enabledLoggers: Set[String] = enabledLoggers,
- cbtHasChanged: Boolean = cbtHasChanged,
+ cbtLastModified: Long = cbtLastModified,
scalaVersion: Option[String] = scalaVersion,
cbtHome: File = cbtHome,
parentBuild: Option[BuildInterface] = None
@@ -84,8 +89,8 @@ object `package`{
cwd,
args.to,
enabledLoggers.to,
- startCompat,
- cbtHasChangedCompat,
+ start,
+ cbtLastModified,
scalaVersion.getOrElse(null),
persistentCache,
transientCache,