Beispiel #1
0
 public void Create(CreateShardSettingsOptions options)
 {
     if (!File.Exists(options.SettingsFile))
     {
         Console.WriteLine($"Creating settings file {options.SettingsFile}.");
         var settings = new ShardSettings();
         settings.IgnoredScripts = new string[]
         {
             @"scripts/just/example/some/file.scp"
         };
         settings.SavePath    = "./save";
         settings.ScriptsPath = "./scripts";
         settings.PrePatches  = new[]
         {
             new PatchSet()
             {
                 Scope   = "scripts/just/example/some.file.scp",
                 Patches = new Dictionary <string, string>()
                 {
                     { "\"dialog(D_RACEclass_classes)\"", "\"dialog D_RACEclass_classes\"" },
                 }
             }
         };
         File.WriteAllText(options.SettingsFile, JsonConvert.SerializeObject(settings, Formatting.Indented));
     }
     else
     {
         Console.WriteLine($"Settings file {options.SettingsFile} already exists.");
     }
 }
Beispiel #2
0
 public KinesisSourceSpec(ITestOutputHelper output) : base("akka.loglevel=DEBUG", output)
 {
     _materializer  = Sys.Materializer();
     _kinesisClient = NSubstitute.Substitute.For <IAmazonKinesis>();
     _settings      = ShardSettings.Create("test-stream", "shard-id")
                      .WithShardIteratorType(ShardIteratorType.TRIM_HORIZON)
                      .WithRefreshInterval(1.Seconds())
                      .WithLimit(500);
 }
        public void Transpile(TranspileShardOptions options)
        {
            this.options = options;

            if (!File.Exists(options.SettingsFile))
            {
                Console.WriteLine($"Setting file {options.SettingsFile} doesn't exist, creating empty settings file.");
                settings = new ShardSettings();
                File.WriteAllText(options.SettingsFile, JsonConvert.SerializeObject(settings, Formatting.Indented));
                return;
            }

            Console.WriteLine($"Reading setting file {new FileInfo(options.SettingsFile).FullName}");
            string settingsFileContent = File.ReadAllText(options.SettingsFile);

            currentDirectory = new DirectoryInfo(Path.GetDirectoryName(options.SettingsFile)).FullName;
            Console.WriteLine($"Shard directory: {currentDirectory}");

            Console.WriteLine();

            settings = JsonConvert.DeserializeObject <ShardSettings>(settingsFileContent);

            string scriptsPath = new DirectoryInfo(Path.Combine(currentDirectory, settings.ScriptsPath)).FullName;

            Console.WriteLine($"Parsing script directory {scriptsPath}");
            ParseScriptDirectory(scriptsPath);

            string savePath = new DirectoryInfo(Path.Combine(currentDirectory, settings.SavePath)).FullName;

            Console.WriteLine();
            Console.WriteLine($"Parsing save directory {savePath}");

            ParseCharSave(savePath);
            ParseWorldSave(savePath);

            if (compilation.CompilationErrors.Any())
            {
                Console.WriteLine();
                Console.WriteLine("Compilation errors found.");
                return;
            }

            TranspileScripts();
            TranspileCharSave();
            TranspileWorldSave();
        }
Beispiel #4
0
        public void Analyze(AnalyzeShardOptions options)
        {
            this.options = options;

            if (!string.IsNullOrEmpty(options.InputPath))
            {
                if (File.Exists(options.InputPath))
                {
                    currentDirectory = Path.GetDirectoryName(options.InputPath);
                    ParseFile(options.InputPath);
                    return;
                }
                else
                {
                    throw new CommandLineException($"Cannot find {options.InputPath}");
                }
            }

            if (!File.Exists(options.SettingsFile))
            {
                Console.WriteLine($"Setting file {options.SettingsFile} doesn't exist, creating empty settings file.");
                settings = new ShardSettings();
                File.WriteAllText(options.SettingsFile, JsonConvert.SerializeObject(settings, Formatting.Indented));
                return;
            }

            Console.WriteLine($"Reading setting file {new FileInfo(options.SettingsFile).FullName}");
            string settingsFileContent = File.ReadAllText(options.SettingsFile);

            currentDirectory = new DirectoryInfo(Path.GetDirectoryName(options.SettingsFile)).FullName;
            Console.WriteLine($"Shard directory: {currentDirectory}");

            Console.WriteLine();

            settings = JsonConvert.DeserializeObject <ShardSettings>(settingsFileContent);

            string scriptsPath = new DirectoryInfo(Path.Combine(currentDirectory, settings.ScriptsPath)).FullName;

            Console.WriteLine($"Parsing script directory {scriptsPath}");
            ParseScriptDirectory(scriptsPath);
        }