public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("TestNuGet", "1.1.0.1", UpdateMode.Fixed);
                    test.ProjectDependency("Test", "TestNuGet");
                });
            });

            theFeedDef = new Feed("file://C:/nugets/{branch}");

            theSolution = theScenario.Find("Test");
            theSolution.AddFeed(theFeedDef);

            FeedScenario.Create(scenario =>
            {
                scenario.For("file://C:/nugets/develop")
                .Add("TestNuGet", "1.1.0.1");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>(x => x.BranchFlag = "develop");
        }
示例#2
0
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    // Defacto a float
                    test.ProjectDependency("Test", "Spark");
                });
            });

            theCache = new Feed("cache");

            theSolution = theScenario.Find("Test");
            theSolution.UseCache(new InMemoryNugetCache(theCache));

            FeedScenario.Create(scenario =>
            {
                scenario.For(theCache)
                .Add("Spark", "1.0.0.0");

                scenario.For(Feed.NuGetV2)
                .Add("Spark", "1.1.0.1");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#3
0
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("FubuCore", test =>
                {
                    // No, I don't like this name more. I'm just making it complicated
                    test.Publishes("FubuFoundation", x => x.Assembly("FubuCore.dll"));
                    test.Publishes("FubuCore.Interfaces", x => x.Assembly("FubuCore.Interfaces.dll", "FubuCore"));
                });
            });

            theOutputDir = theScenario.CreateDirectory("output");

            theSolution = theScenario.Find("FubuCore");
            theSolution.AddNuspec(new NuspecMap {
                PackageId = "FubuCore.Interfaces", PublishedBy = "FubuCore"
            });
            theSolution.AddNuspec(new NuspecMap {
                PackageId = "FubuFoundation", PublishedBy = "FubuCore", DependsOn = "FubuCore.Interfaces"
            });

            RippleOperation
            .With(theSolution)
            .Execute <CreatePackagesInput, CreatePackagesCommand>(x =>
            {
                x.UpdateDependenciesFlag = true;
                x.DestinationFlag        = theOutputDir;
                x.VersionFlag            = "1.1.0.0";
            });
        }
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("StructureMap", "2.6.3", UpdateMode.Fixed);
                    test.ProjectDependency("Test", "structuremap");
                });
            });

            theSolution = theScenario.Find("Test");

            FeedScenario.Create(scenario =>
            {
                scenario.For(Feed.Fubu)
                .Add("structuremap", "2.6.4.54");

                scenario.For(Feed.NuGetV2)
                .Add("structuremap", "2.6.3");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#5
0
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("FubuTransportation", "0.9.0.1", UpdateMode.Float);
                });
            });

            theSolution = theScenario.Find("Test");

            FeedScenario.Create(scenario =>
            {
                scenario
                .For(Feed.Fubu)
                .Add("FubuTransportation", "0.9.0.1")
                .Add("FubuTransportation", "0.9.1.0");

                scenario
                .For(theSolution.Cache.ToFeed())
                .Add("FubuTransportation", "0.9.0.1");
            });



            RippleOperation
            .With(theSolution)
            .Execute <UpdateInput, UpdateCommand>(input =>
            {
                input.NugetFlag = "FubuTransportation";
            });
        }
示例#6
0
 public void TearDown()
 {
     theScenario.Cleanup();
     RippleFileSystem.Live();
     FeedRegistry.Reset();
     RippleOperation.Reset();
 }
示例#7
0
 public override bool Execute(HistoryInput input)
 {
     return(RippleOperation
            .For <HistoryInput>(input)
            .Step <WriteHistory>()
            .Execute());
 }
示例#8
0
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("TestNuGet", "1.1.0.1", UpdateMode.Float);
                    test.ProjectDependency("Test", "TestNuGet");

                    test.LocalDependency("TestNuGet", "1.0.0.0");
                });
            });

            theSolution = theScenario.Find("Test");

            FeedScenario.Create(scenario =>
            {
                scenario.For(Feed.Fubu)
                .Add("TestNuGet", "1.1.0.1");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#9
0
 public override bool Execute(TestInput input)
 {
     return(RippleOperation
            .For <TestInput>(input)
            .Steps(_steps)
            .Execute(true));
 }
示例#10
0
        public void SetUp()
        {
            theScenario = SolutionGraphScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("TestNuGet", "1.1.0.1", UpdateMode.Float);
                    test.ProjectDependency("Test", "TestNuGet");
                });
            });

            theCache = new Feed("cache");

            theSolution = theScenario.Find("Test");
            theSolution.UseCache(new InMemoryNugetCache(theCache));

            FeedScenario.Create(scenario =>
            {
                scenario.For(theCache)
                .Add("TestNuGet", "1.1.0.1");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#11
0
        public void SetUp()
        {
            theScenario = SolutionGraphScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("FubuMVC.Core", "1.0.0.0", UpdateMode.Float);
                    test.ProjectDependency("Test", "FubuMVC.Core");
                });
            });

            FeedScenario.Create(scenario =>
            {
                scenario.For(Feed.Fubu)
                .Add("FubuCore", "1.1.0.0")
                .Add("Bottles", "1.0.0.5")
                .Add("FubuMVC.Core", "1.0.0.0")
                .ConfigureRepository(fubu =>
                {
                    fubu.ConfigurePackage("FubuMVC.Core", "1.0.0.0", mvc =>
                    {
                        mvc.DependsOn("FubuCore");
                        mvc.DependsOn("Bottles");
                    });
                });
            });

            theSolution = theScenario.Find("Test");

            RippleOperation
            .With(theSolution)
            .Execute <FixInput, FixCommand>();

            theSolution = SolutionBuilder.ReadFrom(theScenario.DirectoryForSolution("Test"));
        }
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("FubuCore", "1.2.0.0", UpdateMode.Float);
                    test.SolutionDependency("UnneededAnywhereButHere", "1.2.0.0", UpdateMode.Float);

                    test.ProjectDependency("Test1", "FubuCore");
                    test.ProjectDependency("Test1", "UnneededAnywhereButHere");

                    test.ProjectDependency("Test2", "FubuCore");

                    test.LocalDependency("FubuCore", "1.2.0.0");
                    test.LocalDependency("UnneededAnywhereButHere", "1.2.0.0");
                });
            });

            theSolution = theScenario.Find("Test");

            RippleOperation
            .With(theSolution)
            .Execute <RemoveInput, RemoveCommand>(new RemoveInput {
                Nuget = "FubuCore", ProjectFlag = "Test1"
            });
            RippleOperation
            .With(theSolution)
            .Execute <RemoveInput, RemoveCommand>(new RemoveInput {
                Nuget = "UnneededAnywhereButHere", ProjectFlag = "Test1"
            });

            theSolution = SolutionBuilder.ReadFrom(theScenario.DirectoryForSolution("Test"));
        }
示例#13
0
        public override bool Execute(UpdateInput input)
        {
            var solution = Solution.For(input);

            if (input.NugetFlag.IsNotEmpty() && !solution.Dependencies.Has(input.NugetFlag))
            {
                RippleAssert.Fail(input.NugetFlag + " is not a configured dependency");
                return(false);
            }

            if (input.PreviewFlag)
            {
                preview(input, solution);
                return(true);
            }

            return(RippleOperation
                   .For <UpdateInput>(input)
                   .Step <NugetOperation>()
                   .Step <DownloadMissingNugets>()
                   .Step <ExplodeDownloadedNugets>()
                   .Step <ProcessDirectives>()
                   .Step <FixReferences>()
                   .Execute());
        }
示例#14
0
 public override bool Execute(FloatInput input)
 {
     return(RippleOperation
            .For(input)
            .Step <FloatDependency>()
            .Execute());
 }
        public void SetUp()
        {
            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("Dovetail.SDK", "3.3.0.23", UpdateMode.Fixed);
                    test.ProjectDependency("Test", "Dovetail.SDK");
                    test.LocalDependency("Dovetail.SDK", "3.2.10.27");
                });
            });

            theSolution = theScenario.Find("Test");

            FeedScenario.Create(scenario =>
            {
                scenario
                .For(Feed.Fubu)
                .Add("Dovetail.SDK", "3.2.10.27")
                .Add("Dovetail.SDK", "3.3.0.23");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#16
0
 public override bool Execute(CreatePackagesInput input)
 {
     return(RippleOperation
            .For(input)
            .Step <UpdateNuspecs>()
            .Step <CreatePackages>()
            .Execute());
 }
        public void updates_dependency()
        {
            RippleOperation
            .With(theSolution)
            .Execute <UpdateInput, UpdateCommand>(update => update.NugetFlag = "FubuTransportation");

            theSolution.Dependencies.Find("FubuTransportation").Version.ShouldEqual("0.9.0.1");
        }
 public void throws_ripple_assertion_for_existing_dependency()
 {
     Exception <RippleFatalError> .ShouldBeThrownBy(() =>
     {
         RippleOperation
         .With(theSolution)
         .Execute <InstallInput, InstallCommand>(x => x.Package = "FubuCore");
     }).Message.ShouldEqual("FubuCore already exists in solution");
 }
示例#19
0
 public override bool Execute(FixInput input)
 {
     return(RippleOperation
            .For(input)
            .Step <NugetOperation>()
            .Step <DownloadMissingNugets>()
            .Step <ExplodeDownloadedNugets>()
            .Step <FixReferences>()
            .Execute());
 }
示例#20
0
 public override bool Execute(RestoreInput input)
 {
     return(RippleOperation
            .For(input)
            .Step <DownloadMissingNugets>()
            .Step <ExplodeDownloadedNugets>()
            .Step <ProcessDirectives>()
            .Step <FixReferences>()
            .Execute());
 }
示例#21
0
        public override bool Execute(RemoveInput input)
        {
            RippleLog.Info("Trying to remove {0}".ToFormat(input.Nuget));

            return(RippleOperation
                   .For <RemoveInput>(input)
                   .Step <RemoveNuget>()
                   .ForceSave()
                   .Execute());
        }
示例#22
0
        public void SetUp()
        {
            FeedScenario.Create(scenario =>
            {
                scenario.For(Feed.NuGetV2)
                .Add("RavenDB.Client", "2.0.2330")
                .Add("RavenDB.Database", "2.0.2330")
                .Add("RavenDB.Embedded", "2.0.2330")
                .Add("RavenDB.Server", "2.0.2330")
                .ConfigureRepository(nuget =>
                {
                    nuget.ConfigurePackage("RavenDB.Embedded", "2.0.2330", embedded =>
                    {
                        embedded.DependsOn("RavenDB.Client", "2.0.2330");
                        embedded.DependsOn("RavenDB.Database", "2.0.2330");
                    });
                });
            });

            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", sln =>
                {
                    sln.LocalDependency("RavenDB.Client", "2.0.2315");
                    sln.LocalDependency("RavenDB.Database", "2.0.2315");
                    sln.LocalDependency("RavenDB.Embedded", "2.0.2315");
                    sln.LocalDependency("RavenDB.Server", "2.0.2315");

                    sln.SolutionDependency("RavenDB.Client", "2.0.2315", UpdateMode.Fixed);
                    sln.SolutionDependency("RavenDB.Database", "2.0.2315", UpdateMode.Fixed);
                    sln.SolutionDependency("RavenDB.Embedded", "2.0.2315", UpdateMode.Fixed);
                    sln.SolutionDependency("RavenDB.Server", "2.0.2315", UpdateMode.Fixed);

                    sln.ProjectDependency("Test", "RavenDB.Client");
                    sln.ProjectDependency("Test", "RavenDB.Database");
                    sln.ProjectDependency("Test", "RavenDB.Embedded");
                    sln.ProjectDependency("Test", "RavenDB.Server");

                    sln.GroupDependencies("RavenDB.Client", "RavenDB.Database", "RavenDB.Embedded", "RavenDB.Server");
                });
            });

            theSolution = theScenario.Find("Test");

            RippleOperation
            .With(theSolution)
            .Execute <UpdateInput, UpdateCommand>(input =>
            {
                input.NugetFlag = "RavenDB.Client";
            });

            theSolution = SolutionBuilder.ReadFrom(theScenario.DirectoryForSolution("Test"));
        }
示例#23
0
        public void SetUp()
        {
            theScenario = SolutionGraphScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("StructureMap", "2.6.3", UpdateMode.Fixed);
                    test.ProjectDependency("Test", "structuremap");

                    test.ProjectDependency("Test", "FubuCore");
                    test.ProjectDependency("Test2", "FubuCore");
                });
            });

            theSolution = theScenario.Find("Test");

            FeedScenario.Create(scenario =>
            {
                scenario.For(Feed.Fubu)
                .Add("structuremap", "2.6.4.54")
                .Add("FubuCore", "1.0.0.0")
                .Add("Bottles", "1.0.0.0")
                .Add("FubuMVC.Katana", "1.0.0.1")
                .Add("FubuMVC.Core", "1.0.1.1")
                .Add("FubuMVC.OwinHost", "1.2.0.0")
                .ConfigureRepository(teamcity =>
                {
                    teamcity.ConfigurePackage("FubuMVC.Katana", "1.0.0.1", katana =>
                    {
                        katana.DependsOn("FubuMVC.Core");
                        katana.DependsOn("FubuMVC.OwinHost");
                    });

                    teamcity.ConfigurePackage("FubuMVC.OwinHost", "1.2.0.0", owin => owin.DependsOn("FubuMVC.Core"));
                });

                scenario.For(Feed.NuGetV2)
                .Add("structuremap", "2.6.3");
            });

            RippleFileSystem.StubCurrentDirectory(theScenario.DirectoryForSolution("Test"));

            theFile = writeBatchInstructionsFile(writer =>
            {
                writer.WriteLine("Bottles/1.0.0.0:Test,Test2");
                writer.WriteLine("Test: FubuMVC.Katana");
                writer.WriteLine("Test2: FubuMVC.Core");
            });

            RippleOperation
            .With(theSolution, resetSolution: true)
            .Execute <RestoreInput, RestoreCommand>();
        }
示例#24
0
        public void treats_both_cases_as_one_dependency()
        {
            RippleOperation
            .With(theSolution)
            .Execute <InstallInput, InstallCommand>(input =>
            {
                input.ProjectFlag = "Test";
                input.Package     = "dep";
            });

            theSolution.Dependencies.Has("FubuMVC.Core");
        }
        public void throws_error_and_leaves_config_alone()
        {
            Exception <RippleFatalError> .ShouldBeThrownBy(() =>
            {
                RippleOperation
                .With(theSolution)
                .Execute <RestoreInput, RestoreCommand>();
            });

            theSolution = theScenario.Find("Test");

            theSolution.Dependencies.Find("Bottles").Version.ShouldEqual("");
        }
示例#26
0
        public void SetUp()
        {
            theUnavailableFeed  = new Feed("unavailable");
            anotherFloatingFeed = new Feed("floated");

            theScenario = SolutionScenario.Create(scenario =>
            {
                scenario.Solution("Test", test =>
                {
                    test.SolutionDependency("Bottles", "0.9.0.1", UpdateMode.Float);
                    test.SolutionDependency("FubuJson", "0.9.0.6", UpdateMode.Float);
                });
            });

            theSolution = theScenario.Find("Test");
            theSolution.ClearFeeds();

            theSolution.AddFeed(theUnavailableFeed);
            theSolution.AddFeed(Feed.Fubu);
            theSolution.AddFeed(anotherFloatingFeed);


            FeedScenario.Create(scenario =>
            {
                scenario
                .For(theSolution.Cache.ToFeed())
                .Add("Bottles", "0.8.0.123")
                .Add("FubuJson", "0.9.0.1");

                scenario
                .For(theUnavailableFeed)
                .ThrowWhenSearchingFor("FubuJson", new InvalidOperationException("DNS Error"));

                scenario
                .For(Feed.Fubu)
                .Add("Bottles", "0.9.0.1")
                .Add("FubuJson", "0.9.0.333");

                scenario
                .For(anotherFloatingFeed)
                .Add("Test", "1.0.0.0");

                scenario
                .For(Feed.NuGetV2)
                .Add("FubuTransportation", "0.9.0.1");
            });

            RippleOperation
            .With(theSolution)
            .Execute <RestoreInput, RestoreCommand>(x => x.VerboseFlag = true);
        }
示例#27
0
        public override bool Execute(BatchInstallInput input)
        {
            var returnValue = RippleOperation
                              .For(input)
                              .Step <BatchNugetOperation>()
                              .Step <DownloadMissingNugets>()
                              .Step <ExplodeDownloadedNugets>()
                              .Step <FixReferences>()
                              .Execute();

            input.After();

            return(returnValue);
        }
        public void installs_the_dependency()
        {
            RippleOperation
            .With(theSolution)
            .Execute <InstallInput, InstallCommand>(x =>
            {
                x.Package     = "FubuCore";
                x.ProjectFlag = "Test";
            });

            theSolution = SolutionBuilder.ReadFrom(theScenario.DirectoryForSolution("Test"));

            theSolution.FindProject("Test").Dependencies.Has("FubuCore").ShouldBeTrue();
        }
示例#29
0
        public void executes_the_steps()
        {
            var s1 = new RecordingStep();
            var s2 = new RecordingStep();

            RippleOperation
            .With(new Solution {
                Directory = ".", Path = "test.config"
            })
            .Execute(new TestInput(), new TestCommand(new[] { s1, s2 }));

            s1.Executed.ShouldBeTrue();
            s2.Executed.ShouldBeTrue();
        }
示例#30
0
        public override bool Execute(CreatePackagesInput input)
        {
            var operation = RippleOperation.For(input);

            // TODO -- Opt out of the package templating
            operation.Step <GenerateNuspecs>();

            if (!input.PreviewFlag)
            {
                operation.Step <CreatePackages>();
            }

            return(operation.Execute());
        }