public static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("BuildData"); Console.WriteLine(); Console.WriteLine("*** Command Line Arguments ***"); foreach (var arg in args) { Console.WriteLine(arg); } Console.WriteLine("*** Command Line Arguments ***"); Console.WriteLine("CurrentDirectory: " + Environment.CurrentDirectory); string configFile = null; Dictionary <string, string> argDic = CommandLineArgsToDictionary(args); if (argDic.ContainsKey("-config")) { configFile = argDic["-config"]; if (configFile != null) { configFile = configFile.Trim(); } } BuildDataConfig config = BuildDataUtility.LoadConfigFromFile(configFile); try { BuildOptions options = new BuildOptions() { config = config }; if (argDic.ContainsKey("-code")) { options.buildCode = true; } if (argDic.ContainsKey("-data")) { options.buildData = true; } BuildDataUtility.Build(options); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); throw ex; } }
public static BuildDataConfig LoadConfigFromFile(string configFile) { Console.WriteLine("load config: " + configFile); configFile = Path.GetFullPath(configFile); if (!File.Exists(configFile)) { throw new Exception($"config file not exists: <{ configFile}>"); } string jsonString; jsonString = File.ReadAllText(configFile, Encoding.UTF8); JavaScriptSerializer serializer = new JavaScriptSerializer(); BuildDataConfig config = (BuildDataConfig)serializer.Deserialize(jsonString, typeof(BuildDataConfig)); config.FileName = configFile; return(config); }
public static Type GetDataReaderType(BuildDataConfig config) { Type type = null; if (!string.IsNullOrEmpty(config.Input.Provider)) { Console.WriteLine($"load {nameof(DataReader)} <{config.Input.Provider}>"); type = Type.GetType(config.Input.Provider, true); if (!typeof(DataReader).IsAssignableFrom(type)) { throw new Exception($"not <{nameof(DataReader)}> AssignableFrom <{type.FullName}>"); } } if (type == null) { type = Type.GetType("Build.Data.MSExcel.ExcelDataReader, Build.Data.Provider.MSExcel", true); } return(type); }