public abstract void RunPostStep(List <ModuleDef> Modules, ModuleDef CoreModule);
public static void PostProcessStepAddNuGet(XmlDocument doc, XmlNamespaceManager nsmgr, ModuleDef md) { if (md.NuGetPackages.Count == 0) { return; } foreach (string Pack in md.NuGetPackages) { // string data = "<Import Project=\"packages\\WinPixEventRuntime.1.0.190604001\\build\\WinPixEventRuntime.targets\" Condition=\"Exists('packages\\WinPixEventRuntime.1.0.190604001\\build\\WinPixEventRuntime.targets')\" />"; XmlNodeList cl = doc.SelectNodes("//a:ImportGroup", nsmgr); // foreach (XmlNode nn in cl) { XmlNode nn = cl[cl.Count - 1]; XmlNode value = doc.CreateNode(XmlNodeType.Element, "Import", doc.DocumentElement.NamespaceURI); XmlAttribute A = doc.CreateAttribute("Project"); A.Value = "packages\\WinPixEventRuntime.1.0.190604001\\build\\WinPixEventRuntime.targets";// Condition=\"Exists('packages\\WinPixEventRuntime.1.0.190604001\\build\\WinPixEventRuntime.targets')\"; value.Attributes.Append(A); XmlAttribute B = doc.CreateAttribute("Condition"); B.Value = "Exists('packages\\WinPixEventRuntime.1.0.190604001\\build\\WinPixEventRuntime.targets')"; value.Attributes.Append(B); // value.InnerText = "true";//<IncludeInUnityFile>true</IncludeInUnityFile> nn.AppendChild(value); } } }
public abstract void GenerateList(List <ModuleDef> Modules, ModuleDef CoreModule, List <BuildConfig> buildConfigs);
public static void ProcessExpections(XmlDocument doc, XmlNamespaceManager nsmgr, ModuleDef md) { List <string> Excludes = new List <string>(); foreach (string path in md.UnityBuildExcludedFolders) { Excludes.AddRange(FileUtils.GetFilePaths(ModuleDefManager.GetSourcePath() + "\\" + md.ModuleName + "\\" + path, "*.cpp", true)); Console.WriteLine("Excluded " + path + " from unity build for module " + md.ModuleName); } XmlNodeList cl = doc.SelectNodes("//a:ItemGroup", nsmgr); foreach (string s in Excludes) { string parsed = StringUtils.SanitizePathToDoubleBack(s); string RelPath = parsed.Replace(StringUtils.SanitizePathToDoubleBack(Directory.GetCurrentDirectory()), ".."); //..\Source\Core\AI\Core\AIBase.cpp XmlNodeList cc = doc.SelectNodes("//a:ClCompile[*]", nsmgr); foreach (XmlNode nn in cc) { if (nn.Attributes.Count > 0) { if (nn.Attributes[0].Value == RelPath) { foreach (XmlNode child in nn.ChildNodes) { if (child.Name == "IncludeInUnityFile") { child.InnerText = "false"; } } } } } } }