public void EnsureProperParsingProfileForWeatherData() { ParsingProfile Actual = new ParsingProfile() { KeyIndex = 0, MaxIndex = 1, MinIndex = 2, RowContent = data.Skip(2) }; }
public void Build() { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; var profiles = new ParsingProfile[] { BuilderConfiguration.Instance.XmlTypesProfile, BuilderConfiguration.Instance.TypesProfile, BuilderConfiguration.Instance.XmlMessagesProfile, BuilderConfiguration.Instance.XmlTypesProfile, }; foreach (ParsingProfile parsingProfile in profiles) { if (parsingProfile == null) { continue; } Console.WriteLine("Executing profile \'{0}\' ... ", parsingProfile.Name); if (parsingProfile.OutPutNamespace != null) { parsingProfile.OutPutNamespace = parsingProfile.OutPutNamespace.Insert(0, BuilderConfiguration.Instance.BaseNamespace); } if (!Directory.Exists(BuilderConfiguration.Instance.Output)) { Directory.CreateDirectory(BuilderConfiguration.Instance.Output); } string path = Path.Combine(BuilderConfiguration.Instance.Output, parsingProfile.OutPutPath); if (Directory.Exists(path)) { Directory.Delete(path, true); } Directory.CreateDirectory(Path.Combine(BuilderConfiguration.Instance.Output, parsingProfile.OutPutPath)); IEnumerable <string> files = Directory.EnumerateFiles( Path.Combine(BuilderConfiguration.Instance.SourcePath, parsingProfile.SourcePath), "*.as", SearchOption.AllDirectories); foreach (string file in files) { string relativePath = parsingProfile.GetRelativePath(file); path = Path.Combine(BuilderConfiguration.Instance.Output, parsingProfile.OutPutPath, relativePath); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var parser = new Parser(file, parsingProfile.BeforeParsingReplacementRules, parsingProfile.IgnoredLines) { IgnoreMethods = parsingProfile.IgnoreMethods }; try { if (parsingProfile.EnableParsing) { parser.ParseFile(); } } catch (InvalidCodeFileException) { Console.WriteLine("File {0} not parsed correctly", Path.GetFileName(file)); continue; } parsingProfile.ExecuteProfile(parser); } logger.White(parsingProfile.Name + " done!"); } }
private static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; var serializer = new XmlSerializer(typeof(Configuration)); Configuration.SetDefault(); string configPath = "./config.xml"; for (int i = 0; i < args.Length; i++) { switch (args[i].ToLower()) { case "-config": if (args.Length < i + 2) { Shutdown("Value of -config is not defined like : -config {configPath}"); } configPath = args[i + 1]; break; case "-createconfig": var writer = XmlWriter.Create(configPath, new XmlWriterSettings() { Indent = true }); serializer.Serialize(writer, Configuration); writer.Close(); Shutdown("Config created. Please restart"); break; } } if (!File.Exists(configPath)) { var writer = XmlWriter.Create(configPath, new XmlWriterSettings() { Indent = true }); serializer.Serialize(writer, Configuration); writer.Close(); Shutdown("Config created. Please restart"); } else { var reader = XmlReader.Create(configPath, new XmlReaderSettings()); Configuration = serializer.Deserialize(reader) as Configuration; reader.Close(); } var profiles = new ParsingProfile[] { Configuration.XmlMessagesProfile, Configuration.XmlTypesProfile, //Configuration.MessagesProfile, //Configuration.TypesProfile, //Configuration.DatacenterProfile, //Configuration.EnumsProfile, }; foreach (ParsingProfile parsingProfile in profiles) { if (parsingProfile == null) { continue; } Console.WriteLine("Executing profile \'{0}\' ... ", parsingProfile.Name); if (parsingProfile.OutPutNamespace != null) { parsingProfile.OutPutNamespace = parsingProfile.OutPutNamespace.Insert(0, Configuration.BaseNamespace); } if (!Directory.Exists(Configuration.Output)) { Directory.CreateDirectory(Configuration.Output); } if (Directory.Exists(Path.Combine(Configuration.Output, parsingProfile.OutPutPath))) { DeleteDirectory(Path.Combine(Configuration.Output, parsingProfile.OutPutPath)); } Directory.CreateDirectory(Path.Combine(Configuration.Output, parsingProfile.OutPutPath)); IEnumerable <string> files = Directory.EnumerateFiles( Path.Combine(Configuration.SourcePath, parsingProfile.SourcePath), "*.as", SearchOption.AllDirectories); foreach (string file in files) { if (file.Contains("NetworkDataContainer")) { Console.WriteLine("{0} Skipped", file); continue; } String output = file.Replace(parsingProfile.SourcePath, parsingProfile.OutPutPath).Replace(".as", ".cs"); string contents = File.ReadAllText(file); Directory.CreateDirectory(Path.GetDirectoryName(output)); File.WriteAllText(output, new FastConvert(contents).Parsed.ToString()); } } }
private static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; var serializer = new XmlSerializer(typeof(Configuration)); Configuration.SetDefault(); string configPath = "./config.xml"; for (int i = 0; i < args.Length; i++) { switch (args[i].ToLower()) { case "-config": if (args.Length < i + 2) { Shutdown("Value of -config is not defined like : -config {configPath}"); } configPath = args[i + 1]; break; case "-createconfig": var writer = XmlWriter.Create(configPath, new XmlWriterSettings() { Indent = true }); serializer.Serialize(writer, Configuration); writer.Close(); Shutdown("Config created. Please restart"); break; } } if (!File.Exists(configPath)) { var writer = XmlWriter.Create(configPath, new XmlWriterSettings() { Indent = true }); serializer.Serialize(writer, Configuration); writer.Close(); Shutdown("Config created. Please restart"); } else { var reader = XmlReader.Create(configPath, new XmlReaderSettings()); Configuration = serializer.Deserialize(reader) as Configuration; reader.Close(); } var profiles = new ParsingProfile[] { Configuration.XmlMessagesProfile, Configuration.XmlTypesProfile, Configuration.MessagesProfile, Configuration.TypesProfile, Configuration.DatacenterProfile, Configuration.EnumsProfile, }; foreach (ParsingProfile parsingProfile in profiles) { Console.WriteLine("Executing profile \'{0}\' ... ", parsingProfile.Name); if (parsingProfile.OutPutNamespace != null) { parsingProfile.OutPutNamespace = parsingProfile.OutPutNamespace.Insert(0, Configuration.BaseNamespace); } if (!Directory.Exists(Configuration.Output)) { Directory.CreateDirectory(Configuration.Output); } if (Directory.Exists(Path.Combine(Configuration.Output, parsingProfile.OutPutPath))) { DeleteDirectory(Path.Combine(Configuration.Output, parsingProfile.OutPutPath)); } Directory.CreateDirectory(Path.Combine(Configuration.Output, parsingProfile.OutPutPath)); IEnumerable <string> files = Directory.EnumerateFiles( Path.Combine(Configuration.SourcePath, parsingProfile.SourcePath), "*.as", SearchOption.AllDirectories); foreach (string file in files) { string relativePath = parsingProfile.GetRelativePath(file); if (!Directory.Exists(Path.Combine(Configuration.Output, parsingProfile.OutPutPath, relativePath))) { Directory.CreateDirectory(Path.Combine(Configuration.Output, parsingProfile.OutPutPath, relativePath)); } var parser = new Parser(file, parsingProfile.BeforeParsingReplacementRules, parsingProfile.IgnoredLines) { IgnoreMethods = parsingProfile.IgnoreMethods }; try { if (parsingProfile.EnableParsing) { parser.ParseFile(); } } catch (InvalidCodeFileException) { Console.WriteLine("File {0} not parsed correctly", Path.GetFileName(file)); continue; } parsingProfile.ExecuteProfile(parser); } Console.WriteLine("Done !"); } }
protected XmlPatternBuilder(Parser parser, ParsingProfile profile) { Parser = parser; _profile = profile; }