public int Launch () { Parser.DebugParser = debug_parser; if (RemainingArguments.Length == 0) { DoAbout (); return 1; } if (keyfile == null) { Console.Error.WriteLine ("A keypair file must be specified to sign the assembly."); return 1; } if (assembly_version == null) { Console.Error.WriteLine ("An assembly version must be given to install the assembly."); return 1; } if (!File.Exists (keyfile)) { Console.Error.WriteLine ("The specified keypair file \"{0}\" does not exist.", keyfile); return 1; } if (outfile == null) { string inbase = Path.GetFileNameWithoutExtension (RemainingArguments[0]); // hacky ... outfile = "MBuildDynamic." + inbase + ".dll"; } switch (source_language) { case "csharp": prov = new CSharpCodeProvider(); resource_arg = "/resource:"; break; case "vb": prov = new VBCodeProvider (); resource_arg = "/resource:"; // ??? break; default: Console.Error.WriteLine ("Unknown source language \"{0}\" -- cannot continue.", source_language); return 1; } Driver driver = new Driver (); foreach (string s in refs) if (driver.LoadAssembly (s)) return 1; for (int i = 0; i < RemainingArguments.Length; i++) { if (driver.ParseFile (RemainingArguments[i])) return 1; } if (driver.Prepare ()) return 2; if (debug_codegen) return DoDebugCodegen (driver.GetUnits (assembly_version, keyfile)); foreach (string nfile in natives) if (driver.AddNativeFile (nfile)) return 1; return DoCompilePass (driver.GetUnits (assembly_version, keyfile)); }
public int Launch() { Parser.DebugParser = debug_parser; if (RemainingArguments.Length == 0) { DoAbout(); return(1); } if (keyfile == null) { Console.Error.WriteLine("A keypair file must be specified to sign the assembly."); return(1); } if (assembly_version == null) { Console.Error.WriteLine("An assembly version must be given to install the assembly."); return(1); } if (!File.Exists(keyfile)) { Console.Error.WriteLine("The specified keypair file \"{0}\" does not exist.", keyfile); return(1); } if (outfile == null) { string inbase = Path.GetFileNameWithoutExtension(RemainingArguments[0]); // hacky ... outfile = "MBuildDynamic." + inbase + ".dll"; } switch (source_language) { case "csharp": prov = new CSharpCodeProvider(); resource_arg = "/resource:"; break; case "vb": prov = new VBCodeProvider(); resource_arg = "/resource:"; // ??? break; default: Console.Error.WriteLine("Unknown source language \"{0}\" -- cannot continue.", source_language); return(1); } Driver driver = new Driver(); foreach (string s in refs) { if (driver.LoadAssembly(s)) { return(1); } } for (int i = 0; i < RemainingArguments.Length; i++) { if (driver.ParseFile(RemainingArguments[i])) { return(1); } } if (driver.Prepare()) { return(2); } if (debug_codegen) { return(DoDebugCodegen(driver.GetUnits(assembly_version, keyfile))); } foreach (string nfile in natives) { if (driver.AddNativeFile(nfile)) { return(1); } } return(DoCompilePass(driver.GetUnits(assembly_version, keyfile))); }