public int Run() { if (options.ShouldShowHelp) { ShowHelpMessage(); return(0); } if (!ValidateOptions()) { ShowHelpMessage(); return(1); } var bundlePath = GenerateBundle(); var schemaBundle = SchemaBundle.FromJson(File.ReadAllText(bundlePath)); var store = new DetailsStore(schemaBundle); var workerGenerationJob = new WorkerGenerationJob(options.NativeOutputDirectory, options, fileSystem); var singleJob = new SingleGenerationJob(options.NativeOutputDirectory, store, fileSystem); var runner = new JobRunner(fileSystem); runner.Run(singleJob, workerGenerationJob); return(0); }
public int Run() { if (options.ShouldShowHelp) { ShowHelpMessage(); return(0); } if (!ValidateOptions()) { ShowHelpMessage(); return(1); } GenerateNativeTypesAndAst(); var schemaFilesRaw = SchemaFiles.GetSchemaFilesRaw(options.JsonDirectory, fileSystem).ToList(); var schemaProcessor = new UnitySchemaProcessor(schemaFilesRaw); var globalEnumSet = ExtractEnums(schemaProcessor.ProcessedSchemaFiles); var workerGenerationJob = new WorkerGenerationJob(options.NativeOutputDirectory, options, fileSystem); var aggegrateJob = new AggregateJob(fileSystem, options, schemaProcessor, globalEnumSet); var runner = new JobRunner(fileSystem); runner.Run(new List <ICodegenJob> { aggegrateJob, workerGenerationJob }, new[] { options.NativeOutputDirectory }); return(0); }