static int Main(string[] args)
        {
            var session    = new ConsoleSession();
            var jobFactory = SelectFactory(ref args);

            if (jobFactory == null)
            {
                Console.Error.WriteLine($@"Usage: {Path.GetFileName(session.Application)} <mode> <args...>
where <mode> is one of: inspect, import, create-datasource");
                return(1);
            }
            session.Options.AddCollector(jobFactory);
            session.ArgumentList.AddCollector(jobFactory as IReceiveArgumentList);
            var logging = session.Options.AddCollector(new SimpleConsoleLoggingPolicy());

            session.ExcessPositionalArgumentsPolicy = ExcessPositionalArgumentsPolicy.Warn;

            return(session.Run(args, async() => {
                using (LoggingPolicy.Register(session, logging))
                {
                    var job = jobFactory.CreateJob();
                    await job.Run(Console.Out);
                    return 0;
                }
            }));
        }
Пример #2
0
 public void Run()
 {
     _instance.Run();
 }