using System;
using System.Collections.Generic;
namespace Google.ProtocolBuffers.ProtoGen {
///
/// Entry point for the Protocol Buffers generator.
///
class Program {
static int Main(string[] args) {
try {
GeneratorOptions options = ParseCommandLineArguments(args);
IList validationFailures;
if (!options.TryValidate(out validationFailures)) {
// We've already got the message-building logic in the exception...
InvalidOptionsException exception = new InvalidOptionsException(validationFailures);
Console.WriteLine(exception.Message);
return 1;
}
Generator generator = Generator.CreateGenerator(options);
generator.Generate();
return 0;
} catch (Exception e) {
Console.Error.WriteLine("Caught unhandled exception: {0}", e);
return 1;
}
}
private static GeneratorOptions ParseCommandLineArguments(string[] args) {
GeneratorOptions options = new GeneratorOptions();
string baseDir = "c:\\Users\\Jon\\Documents\\Visual Studio 2008\\Projects\\ProtocolBuffers";
options.OutputDirectory = baseDir + "\\tmp";
options.InputFiles = new[] { baseDir + "\\protos\\nwind.protobin" };
return options;
}
}
}