Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
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);
        }