private void Main2(ArgsReader ar) { string resDir = null; List <string> srcDirs = new List <string>(); string outJSFile = null; JSModuleConverter mc = new JSModuleConverter(); while (true) { if (ar.ArgIs("/R")) { resDir = ar.NextArg(); continue; } if (ar.ArgIs("/S")) { srcDirs.Add(ar.NextArg()); continue; } if (ar.ArgIs("/W")) { outJSFile = ar.NextArg(); continue; } if (ar.HasArgs()) { throw new Exception("不明なコマンド引数"); } break; } if (resDir == null) { throw new Exception("リソースディレクトリを指定して下さい。"); } if (srcDirs.Count == 0) { throw new Exception("ソースディレクトリを指定して下さい。"); } if (outJSFile == null) { throw new Exception("出力JSファイルを指定して下さい。"); } mc.LoadResourceDir(resDir); foreach (string srcDir in srcDirs) { mc.LoadSourceDir(srcDir); } mc.WriteJSFile(outJSFile); }
private void Main2(ArgsReader ar) { string resDir = null; List <string> srcDirs = new List <string>(); string outJSFile = null; string tagsFile = null; while (true) { if (ar.ArgIs("/R")) { resDir = ar.NextArg(); continue; } if (ar.ArgIs("/S")) { srcDirs.Add(ar.NextArg()); continue; } if (ar.ArgIs("/WB")) { outJSFile = ar.NextArg(); outJSFile = FileTools.MakeFullPath(outJSFile); outJSFile += ".js"; continue; } if (ar.ArgIs("/T")) { tagsFile = ar.NextArg(); continue; } if (ar.HasArgs()) { throw new Exception("不明なコマンド引数"); } break; } if (resDir == null) { throw new Exception("リソースディレクトリを指定して下さい。"); } if (srcDirs.Count == 0) { throw new Exception("ソースディレクトリを指定して下さい。"); } if (outJSFile == null) { throw new Exception("出力JSファイルを指定して下さい。"); } if (tagsFile == null) { throw new Exception("tagsファイルを指定して下さい。"); } { JSModuleConverter mc = new JSModuleConverter(); mc.LoadResourceDir(resDir); foreach (string srcDir in srcDirs) { mc.LoadSourceDir(srcDir); } mc.WriteJSFile(outJSFile); } using (WorkingDir wd = new WorkingDir()) { const string MID_TAGS_FILE = "tags.mid.tmp"; ProcessTools.Batch(new string[] { string.Format(@"C:\Factory\DevTools\makeTags.exe /JS {0} {1}", outJSFile, MID_TAGS_FILE), }, wd.GetPath(".") ); if (File.Exists(wd.GetPath(MID_TAGS_FILE)) == false) { throw new Exception("tagsファイルの生成に失敗しました。"); } string[] tagsLines = File.ReadAllLines(wd.GetPath(MID_TAGS_FILE), StringTools.ENCODING_SJIS); File.AppendAllLines(tagsFile, tagsLines, StringTools.ENCODING_SJIS); // 注意:追記する。 } }