static void Main(string[] args) { AOutput.QM2.UseQM2 = true; AOutput.Clear(); var x = new Converter(); #if TEST_SMALL x.Convert( //@"Q:\app\Au\Other\SdkConverter\Data\Header.h", @"Q:\app\Au\Other\SdkPreprocess\Cpp.cpp", @"Q:\app\Au\Other\Api\Api.cs", false); #else x.Convert(@"Q:\app\Au\Other\Api\Api-preprocessed-64.cpp", @"Q:\app\Au\Other\Api\Api-64.cs", false); x = new Converter(); x.Convert(@"Q:\app\Au\Other\Api\Api-preprocessed-32.cpp", @"Q:\app\Au\Other\Api\Api-32.cs", true); #endif }
static void _Main() { bool isConsole = AOutput.IsConsoleProcess; if (!isConsole) { AOutput.QM2.UseQM2 = true; AOutput.Clear(); } var docfx = @"Q:\Programs\DocFx\docfx.exe"; var objDir = @"Q:\Temp\Au\DocFX\obj"; var docDir = @"Q:\app\Au\Other\DocFX\_doc"; var siteDir = docDir + @"\_site"; var apiDir = docDir + @"\api"; //ProcessYamlFile(apiDir + @"\Au.AaaDocFX.yml", true); return; //ProcessHtmlFiles(siteDir, true); return; //ProcessToc(siteDir); return; //Compress(docDir); return; //Upload(docDir); return; //CompressAndUpload(docDir); return; foreach (var v in Process.GetProcessesByName("docfx")) { v.Kill(); } if (isConsole) { int k = 0; foreach (var v in AWnd.FindAll(@"C:\WINDOWS\system32\cmd.exe", "ConsoleWindowClass")) { if (k++ > 0) { v.Close(); } } } AFile.Delete(siteDir); Directory.SetCurrentDirectory(docDir); var t1 = ATime.PerfMilliseconds; using (var fw = new FileSystemWatcher(apiDir, "*.yml")) { fw.Changed += (sen, e) => { //AOutput.Write(e.Name); if (e.Name.Starts("Au.", true)) { ProcessYamlFile(e.FullPath, false); } }; fw.EnableRaisingEvents = true; fw.NotifyFilter = NotifyFilters.LastWrite; bool serving = false; try { AExec.RunConsole(o => { AOutput.Write(o); if (o.Starts("Serving")) { throw new OperationCanceledException(); } }, docfx, $@"docfx.json --intermediateFolder ""{objDir}"" --serve"); // --force } catch (OperationCanceledException) { serving = true; } //if(!serving) { ADialog.Show("error?"); return; } //need if this process is not hosted if (!serving) { return; } } var t2 = ATime.PerfMilliseconds; ProcessHtmlFiles(siteDir, false); var t3 = ATime.PerfMilliseconds; AOutput.Write("speed (s):", (t2 - t1) / 1000, (t3 - t2) / 1000); //AWnd.Find("* Chrome").Activate(); //AKeys.Key("F5"); 1.s(); if (1 == ADialog.Show("Upload?", null, "1 Yes|2 No" /*, secondsTimeout: 5*/)) { CompressAndUpload(docDir); } //Delete obj folder if big. Each time it grows by 10 MB, and after a day or two can be > 1 GB. After deleting builds slower by ~50%. if (AFile.More.CalculateDirectorySize(objDir) / 1024 / 1024 > 500) { AOutput.Write("Deleting obj folder."); AFile.Delete(objDir); } //info: if DocFX starts throwing stack overflow exception, delete the obj folder manually. It is likely to happen after many refactorings in the project. }