コード例 #1
0
ファイル: Program.cs プロジェクト: chartly/flood
        static bool ParseCommandLineOptions(String[] args, Options options)
        {
            var set = new OptionSet()
                {
                    // Compiler options
                    { "ns|namespace=", v => options.OutputNamespace = v },
                    { "o|outdir=", v => options.OutputDir = v },
                    { "debug", v => options.OutputDebug = true },
                    // Misc. options
                    { "v|verbose",  v => { options.Verbose = true; } },
                    { "h|?|help",   v => options.ShowHelpText = v != null },
                };

            if (args.Length == 0 || options.ShowHelpText)
            {
                ShowHelp(set);
                return false;
            }

            try
            {
                options.Assembly = set.Parse(args)[0];
            }
            catch (OptionException)
            {
                Console.WriteLine("Error parsing the command line.");
                ShowHelp(set);
                return false;
            }

            return true;
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: chartly/flood
        public static int Main(string[] args)
        {
            var options = new Options();

            if (!ParseCommandLineOptions(args, options))
                return 1;

            if (!Directory.Exists(options.OutputDir))
                Directory.CreateDirectory(options.OutputDir);

            try
            {
                var compiler = new Compiler(options.Assembly, options.OutputDir);
                compiler.Process();
                compiler.Compile(options.Assembly);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                return 1;
            }

            return 0;
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: tritao/flood
        static void Main(string[] args)
        {
            var options = new Options();

            if (!ParseCommandLineOptions(args, options))
                return;

            if (!Directory.Exists(options.OutputDir))
                Directory.CreateDirectory(options.OutputDir);

            Assembly assembly;
            if (!ParseAssembly(options.Assembly, out assembly))
                return;

            var compiler = new Compiler(options, assembly);
            compiler.Process();

            if(!string.IsNullOrEmpty(options.MSBuildProjectPath)){
                MSBuildUpdater.UpdateMSBuild(options.MSBuildProjectPath,compiler.GeneratedFiles);
            }
        }
コード例 #4
0
ファイル: GeneratorTests.cs プロジェクト: akumetsuv/flood
 [SetUp]
 public void Init()
 {
     Options options = new Options();
     generator = new Generator(options);
     eventFired = false;
コード例 #5
0
ファイル: Compiler.cs プロジェクト: tritao/flood
 public Compiler(Options options, Assembly assembly)
 {
     this.options = options;
     this.assembly = assembly;
     this.GeneratedFiles = new List<string>();
 }
コード例 #6
0
ファイル: Generator.cs プロジェクト: akumetsuv/flood
 public Generator(Options options)
 {
     this.options = options;
 }