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