private static void ThreadedBuild(Project proj) { Luminate luminate = Luminate.Singleton; DateTime date = DateTime.Now; string catenatedBuilds = ""; foreach (string s in proj.Dependencies) { bool foundProject = false; for (var i = 0; i < luminate.mProjects.Count; i++) { if (luminate.mProjects[i].Name == s) { foundProject = true; Logger.Singleton.Log("Building " + luminate.mProjects[i].Name + " on " + date.ToShortDateString() + " @" + date.ToLongTimeString(), Logger.MessageType.MESSAGE); Builder.Build(luminate.mProjects[i], null); Logger.Singleton.Log("Build " + luminate.mProjects[i].Name + " Complete: " + proj.OutputFile + " on " + date.ToShortDateString() + " @" + date.ToLongTimeString(), Logger.MessageType.MESSAGE); catenatedBuilds += luminate.mProjects[i].CompiledJS; break; } } if (!foundProject) { Logger.Singleton.Log("Project Dependency " + s + " was not found for " + proj.Name + ".", Logger.MessageType.ERROR); } } Logger.Singleton.Log("Building " + proj.Name + " on " + date.ToShortDateString() + " @" + date.ToLongTimeString(), Logger.MessageType.MESSAGE); Builder.Build(proj, catenatedBuilds); Logger.Singleton.Log("Build " + proj.Name + " Complete: " + proj.OutputFile + " on " + date.ToShortDateString() + " @" + date.ToLongTimeString(), Logger.MessageType.MESSAGE); if (proj.UseFTP) { Logger.Singleton.Log("Uploading to " + proj.FTPLocation + " with user " + proj.FTPUser + "...", Logger.MessageType.MESSAGE); } luminate.mLexer.parse(proj.CompiledJS); // Save to the override file try { if (proj.OverridePath.Trim() != "") { StreamWriter file = new StreamWriter(proj.OverridePath); file.Write(proj.CompiledJS); file.Close(); } } catch (Exception ex) { Logger.Singleton.Log(ex.Message, Logger.MessageType.ERROR); } luminate.EnableBuild(true); }