private void CreateBuildActionEntry( System.Xml.XmlDocument doc, System.Xml.XmlElement buildActionEntriesEl, Target target, Bam.Core.Array<Target> buildActionsCreated) { #if true #else // add all required dependencies in first (order matters) foreach (var required in target.TargetDependencies) { this.CreateBuildActionEntry(doc, buildActionEntriesEl, required., buildActionsCreated); } #endif // the same target might appear again while iterating through the required targets of dependencies // only add it once (first one is important for ordering) if (buildActionsCreated.Contains(target)) { return; } var buildActionEntry = doc.CreateElement("BuildActionEntry"); buildActionEntriesEl.AppendChild(buildActionEntry); var buildableReference = doc.CreateElement("BuildableReference"); buildActionEntry.AppendChild(buildableReference); { buildableReference.SetAttribute("BuildableIdentifier", "primary"); buildableReference.SetAttribute("BlueprintIdentifier", target.GUID); if (null != target.FileReference) { buildableReference.SetAttribute("BuildableName", target.FileReference.Name); } buildableReference.SetAttribute("BlueprintName", target.Name); if (target.Project.ProjectDir == this.Project.ProjectDir) { buildableReference.SetAttribute("ReferencedContainer", "container:" + System.IO.Path.GetFileName(this.Project.ProjectDir.Parse())); } else { var relative = Bam.Core.RelativePathUtilities.GetPath(target.Project.ProjectDir.Parse(), this.Project.ProjectDir.Parse()); buildableReference.SetAttribute("ReferencedContainer", "container:" + relative); } } buildActionsCreated.Add(target); }
IsSDKValid( Bam.Core.StringArray availableSDKs, string sdk) { return availableSDKs.Contains(sdk); }