internal void Load (TaskDatabase db) { AssemblyLoadInfo loadInfo = null; if (AssemblyName != null) { loadInfo = new AssemblyLoadInfo (AssemblyName, TaskName); } else if (AssemblyFile != null) { Expression exp = new Expression (); // FIXME: test it exp.Parse (AssemblyFile, ParseOptions.Split); string filename = (string) exp.ConvertTo (project, typeof (string)); if (Path.IsPathRooted (filename) == false) { string ffn; if (importedProject != null) { ffn = Path.GetDirectoryName (importedProject.FullFileName); } else if (project.FullFileName != String.Empty) { ffn = Path.GetDirectoryName (project.FullFileName); } else { ffn = Environment.CurrentDirectory; } filename = Path.Combine (ffn, filename); } loadInfo = new AssemblyLoadInfo (LoadInfoType.AssemblyFilename, filename, null, null, null, null, TaskName); } db.RegisterTask (TaskName, loadInfo); }
internal TaskDatabase GetDefaultTasks(string toolsVersion) { TaskDatabase db; if (defaultTasksTableByToolsVersion.TryGetValue(toolsVersion, out db)) { return(db); } var toolset = Toolsets [toolsVersion]; if (toolset == null) { throw new UnknownToolsVersionException(toolsVersion); } string toolsPath = toolset.ToolsPath; string tasksFile = Path.Combine(toolsPath, defaultTasksProjectName); this.LogMessage(MessageImportance.Low, "Loading default tasks for ToolsVersion: {0} from {1}", toolsVersion, tasksFile); // set a empty taskdb here, because the project loading the tasks // file will try to get the default task db defaultTasksTableByToolsVersion [toolsVersion] = new TaskDatabase(); db = defaultTasksTableByToolsVersion [toolsVersion] = RegisterDefaultTasks(tasksFile); return(db); }
TaskDatabase RegisterDefaultTasks(string tasksFile) { Project defaultTasksProject = CreateNewProject(); TaskDatabase db; if (File.Exists(tasksFile)) { defaultTasksProject.Load(tasksFile); db = defaultTasksProject.TaskDatabase; } else { this.LogWarning("Default tasks file {0} not found, ignoring.", tasksFile); db = new TaskDatabase(); } return(db); }
public void CopyTasks(TaskDatabase taskDatabase) { foreach (KeyValuePair <string, AssemblyLoadInfo> kvp in taskDatabase.assemblyInformation) { assemblyInformation.Add(kvp.Key, kvp.Value); } foreach (KeyValuePair <string, Type> kvp in taskDatabase.typesByFullName) { typesByFullName.Add(kvp.Key, kvp.Value); } foreach (KeyValuePair <string, Type> kvp in taskDatabase.typesByShortName) { typesByShortName.Add(kvp.Key, kvp.Value); } foreach (KeyValuePair <string, UsingTaskInfo> kvp in taskDatabase.usingTasksByFullName) { usingTasksByFullName.Add(kvp.Key, kvp.Value); } }
internal void Load(TaskDatabase db) { AssemblyLoadInfo loadInfo = null; if (AssemblyName != null) { loadInfo = new AssemblyLoadInfo(AssemblyName, TaskName); } else if (AssemblyFile != null) { Expression exp = new Expression(); // FIXME: test it exp.Parse(AssemblyFile, ParseOptions.Split); string filename = (string)exp.ConvertTo(project, typeof(string)); if (Path.IsPathRooted(filename) == false) { string ffn; if (importedProject != null) { ffn = Path.GetDirectoryName(importedProject.FullFileName); } else if (project.FullFileName != String.Empty) { ffn = Path.GetDirectoryName(project.FullFileName); } else { ffn = Environment.CurrentDirectory; } filename = Path.Combine(ffn, filename); } loadInfo = new AssemblyLoadInfo(LoadInfoType.AssemblyFilename, filename, null, null, null, null, TaskName); } db.RegisterTask(TaskName, loadInfo); }
TaskDatabase RegisterDefaultTasks(string tasksFile) { Project defaultTasksProject = CreateNewProject (); TaskDatabase db; if (File.Exists (tasksFile)) { defaultTasksProject.Load (tasksFile); db = defaultTasksProject.TaskDatabase; } else { // $Jedzia$: search for alternative tasks file in the BinPath. var fi = new FileInfo(tasksFile); var altPath = Path.Combine(this.BinPath, fi.Name); if (File.Exists(altPath)) { defaultTasksProject.Load(altPath); db = defaultTasksProject.TaskDatabase; this.LogMessage(MessageImportance.Low, String.Format("{0}: Found alternative defaultTasksProject '{1}'.", "RegisterDefaultTasks", altPath)); } else { this.LogWarning("Default tasks file {0} not found, ignoring.", tasksFile); db = new TaskDatabase(); } } return db; }
internal TaskDatabase GetDefaultTasks(string toolsVersion) { TaskDatabase db; if (defaultTasksTableByToolsVersion.TryGetValue (toolsVersion, out db)) return db; var toolset = Toolsets [toolsVersion]; if (toolset == null) throw new UnknownToolsVersionException (toolsVersion); string toolsPath = toolset.ToolsPath; string tasksFile = Path.Combine (toolsPath, defaultTasksProjectName); this.LogMessage (MessageImportance.Low, "Loading default tasks for ToolsVersion: {0} from {1}", toolsVersion, tasksFile); // set a empty taskdb here, because the project loading the tasks // file will try to get the default task db defaultTasksTableByToolsVersion [toolsVersion] = new TaskDatabase (); db = defaultTasksTableByToolsVersion [toolsVersion] = RegisterDefaultTasks (tasksFile); return db; }
TaskDatabase RegisterDefaultTasks (string tasksFile) { Project defaultTasksProject = CreateNewProject (); TaskDatabase db; if (File.Exists (tasksFile)) { defaultTasksProject.Load (tasksFile); db = defaultTasksProject.TaskDatabase; } else { this.LogWarning ("Default tasks file {0} not found, ignoring.", tasksFile); db = new TaskDatabase (); } return db; }
public void CopyTasks (TaskDatabase taskDatabase) { foreach (KeyValuePair <string, AssemblyLoadInfo> kvp in taskDatabase.assemblyInformation) assemblyInformation.Add (kvp.Key, kvp.Value); foreach (KeyValuePair <string, Type> kvp in taskDatabase.typesByFullName) typesByFullName.Add (kvp.Key, kvp.Value); foreach (KeyValuePair <string, Type> kvp in taskDatabase.typesByShortName) typesByShortName.Add (kvp.Key, kvp.Value); foreach (KeyValuePair <string, UsingTaskInfo> kvp in taskDatabase.usingTasksByFullName) usingTasksByFullName.Add (kvp.Key, kvp.Value); }
void RegisterDefaultTasks () { this.defaultTasksRegistered = false; Project defaultTasksProject = CreateNewProject (); if (binPath != null) { if (File.Exists (Path.Combine (binPath, defaultTasksProjectName))) { defaultTasksProject.Load (Path.Combine (binPath, defaultTasksProjectName)); defaultTasks = defaultTasksProject.TaskDatabase; } else defaultTasks = new TaskDatabase (); } else defaultTasks = new TaskDatabase (); this.defaultTasksRegistered = true; }