Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }