2 using SysGen.BuildEngine.Attributes;
4 using SysGen.RBuild.Framework;
6 namespace SysGen.BuildEngine.Tasks
8 [TaskName("compilationunit")]
9 public class CompilationUnitTask : FileSystemInfoBaseTask, ITaskContainer, IRBuildSourceFilesContainer
11 private TaskCollection m_ChildTasks = new TaskCollection();
13 public CompilationUnitTask()
15 Root = PathRoot.Intermediate;
18 public TaskCollection ChildTasks
20 get { return m_ChildTasks; }
23 public bool ExecuteChilds
28 protected override void CreateFileSystemObject()
30 m_FileSystemInfo = new RBuildCompilationUnitFile();
33 public RBuildCompilationUnitFile CompilationUnit
35 get { return m_FileSystemInfo as RBuildCompilationUnitFile; }
38 public RBuildSourceFileCollection SourceFiles
40 get { return CompilationUnit.SourceFiles; }
44 /// The name of the compilation unit to set.
46 [TaskAttribute("name")]
47 public string FileName { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } }
49 protected override void ExecuteTask()
53 // Add the compilation unit to the current module
54 Module.CompilationUnits.Add(CompilationUnit);