public async Task DoSimpleSyncT() { var syncCmd = new SyncCommand(); var packagesJson = new PackagesJson(); packagesJson.dependencies = new Dictionary <string, string>(); packagesJson.dependencies.Add("xunit.core", "2.4.1"); packagesJson.dependencies.Add("CommandLineParser", "2.3.0"); packagesJson.dependencies.Add("System.Console", "4.3.1"); var packagesJsonPath = Path.Combine(_prjConfig.RootPath, _prjConfig.Nuget2BazelConfigName); await File.WriteAllTextAsync(packagesJsonPath, JsonConvert.SerializeObject(packagesJson)); await syncCmd.Do(_prjConfig); var readback = await File.ReadAllTextAsync(packagesJsonPath); var readbackJson = JsonConvert.DeserializeObject <PackagesJson>(readback); var filtered = readbackJson.dependencies.Where(x => !SdkList.Dlls.Contains(x.Key.ToLower())).Select(y => y.Key).ToList(); Assert.Equal(5, filtered.Count); Assert.Contains("CommandLineParser", filtered); Assert.Contains("xunit.abstractions", filtered); Assert.Contains("xunit.core", filtered); Assert.Contains("xunit.extensibility.core", filtered); Assert.Contains("xunit.extensibility.execution", filtered); }
static void Main(string[] args) { var parsed = Parser.Default.ParseArguments <AddVerb, DeleteVerb, SyncVerb, UpdateVerb, RulesVerb>(args); var result = parsed.MapResult <AddVerb, DeleteVerb, SyncVerb, UpdateVerb, RulesVerb, int>( (AddVerb opts) => { var prjConfig = new ProjectBazelConfig(opts); var res = new AddCommand().Do(prjConfig, opts.Package, opts.Version, opts.MainFile, opts.SkipSha256, opts.Lowest, opts.Variable); res.Wait(); return(0); }, (DeleteVerb opts) => { var prjConfig = new ProjectBazelConfig(opts); var res = new DeleteCommand().Do(prjConfig, opts.Package); res.Wait(); return(0); }, (SyncVerb opts) => { var prjConfig = new ProjectBazelConfig(opts); var res = new SyncCommand().Do(prjConfig); res.Wait(); return(0); }, (UpdateVerb opts) => { var prjConfig = new ProjectBazelConfig(opts); var res = new UpdateCommand().Do(prjConfig, opts.Package, opts.Version, opts.MainFile, opts.SkipSha256, opts.Lowest, opts.Variable); res.Wait(); return(0); }, (RulesVerb opts) => { var res = new RulesCommand().Do(opts.Path); res.Wait(); return(0); }, errs => { HelpText.AutoBuild(parsed); return(-1); } ); Environment.Exit(result); }