           // Don't bother compiling if we haven't been modified since the last
           // target was built
           if !modulesCompiled && targetNewer && !mustRecompile {
-            return
+            return .Skipped
           }
         }
 

    dependencyRoostfile.directory = directory
    dependencyRoostfile.parseFromString(contents)

    let dependencyPackage = dependencyRoostfile.asPackage()

    dependencyPackage.compile()

    // Save the Roostfile of the dependency for later
    dependency.roostfile = dependencyRoostfile
  }// compileDependency



import Foundation
import Tasker

enum CompilationResult {
  case Skipped
  case Compiled

  var description: String {
    switch self {
      case .Skipped:  return "Skipped"
      case .Compiled: return "Compiled"
    }
  }
}

extension Package {

  var fileManager: NSFileManager     { get { return NSFileManager.defaultManager() } }
  var vendorDirectory: String        { get { return "\(roostfile.directory)/vendor" } }
  var frameworkSearchPaths: [String] { get { return roostfile.frameworkSearchPaths } }

  var mustRecompile: Bool {
    get {
      let environment = NSProcessInfo.processInfo().environment
