anchor.diff:  let ServicesDirectory = MetaDirectory <!!> @"META-INF\services" |> CreateAndEmptyDirectory
   let LuceneDirectory = WorkDirectory <!!> "Lucene" |> CreateAndEmptyDirectory
   let OutputDirectory = WorkDirectory <!!> "Output" |> CreateAndEmptyDirectory
  +let SmokeTestArtifacts = RootDirectory <!!> @"SmokeTests\SmokeTestArtifacts"
   
   // List of all the lucene jars which will be combined to form FlexLucene
   let LuceneJars = 
  
positive.code: // ---------------------------------------------
  let RootDirectory = __SOURCE_DIRECTORY__
  let WorkDirectory = RootDirectory <!!> "Work" |> CreateAndEmptyDirectory
  let IkvmPath = sprintf @"%s\ikvm\ikvmc.exe" RootDirectory
  let VersionPatchPath = RootDirectory <!!> "verpatch.exe"
  let LibSrcDirectory = RootDirectory <!!> "Lib"
  
negative.code:       executeIkvm, "Execute IKVM"
        addBuildInformation, "Add build information"
        CecilWriter.regenerateMethodNames, "Regenerate Method names"
        executePEVerify, "Execute PEVerify"
        runSmokeTests, "Run Smoke Tests" ]
  
  tasks |> Seq.iter (fun t -> 
               let (task, desc) = t
  