public void builder() { _filesystem = Substitute.For<IFileSystem>(); _filesystem.GetPlatformRoot().Returns(The.Root); var dbpath = The.Root.Navigate((FilePath)"group1/proj2/DatabaseScripts"); _filesystem.Exists(null).ReturnsForAnyArgs(c=> c.Args()[0] as FilePath == dbpath); _filesystem.SortedDescendants(null,null).ReturnsForAnyArgs(new [] {(FilePath)"one",(FilePath)"two"}); _modules = Substitute.For<IModules>(); _modules.Paths.Returns(new[] {"group1/proj1", "group1/proj2", "group2/proj3"}); _modules.Repos.Returns(new[] {"p1Repo", "p2Repo", "p3Repo"}); _locks = new List<AutoResetEvent> { new AutoResetEvent(true), new AutoResetEvent(true), new AutoResetEvent(true) }; _modules.CreateAndSetLocks().Returns(_locks); _git = Substitute.For<IGit>(); _depMgr = Substitute.For<IDependencyManager>(); _ruleFac = Substitute.For<IRuleFactory>(); _ruleFac.GetModules().Returns(_modules); _buildCmd = Substitute.For<IBuildCmd>(); _subject = new Builder(_filesystem, _git, _depMgr, _ruleFac, _buildCmd); _subject.Prepare(); _subject.RebuildDatabases(); }
public void builder() { _filesystem = Substitute.For<IFileSystem>(); _filesystem.GetPlatformRoot().Returns(The.Root); _filesystem.Exists(null).ReturnsForAnyArgs(true); _modules = Substitute.For<IModules>(); _modules.Paths.Returns(new[] { "group1/proj1", "group1/proj2", "group2/proj3" }); _modules.Repos.Returns(new[] { "p1Repo", "p2Repo", "p3Repo" }); _locks = new List<AutoResetEvent> { new AutoResetEvent(true), new AutoResetEvent(true), new AutoResetEvent(true) }; _modules.CreateAndSetLocks().Returns(_locks); _patterns = new Patterns { DependencyPattern = "*.dll", DependencyPath = (FilePath)"lib", Masters = new FilePath[] { } }; _git = Substitute.For<IGit>(); _depMgr = Substitute.For<IDependencyManager>(); _ruleFac = Substitute.For<IRuleFactory>(); _ruleFac.GetModules().Returns(_modules); _ruleFac.GetRulePatterns().Returns(_patterns); _buildCmd = Substitute.For<IBuildCmd>(); _subject = new Builder(_filesystem, _git, _depMgr, _ruleFac, _buildCmd); _subject.Prepare(); _subject.GetDependenciesAndBuild(); }
public void builder() { _filesystem = Substitute.For<IFileSystem>(); _filesystem.GetPlatformRoot().Returns(The.Root); _filesystem.Exists(null).ReturnsForAnyArgs(c=> (c.Args()[0] as FilePath != (FilePath)"group1/proj2")); _modules = Substitute.For<IModules>(); _modules.Paths.Returns(new[] {"group1/proj1", "group1/proj2", "group2/proj3"}); _modules.Repos.Returns(new[] {"p1Repo", "p2Repo", "p3Repo"}); _locks = new List<AutoResetEvent> { new AutoResetEvent(false), new AutoResetEvent(false), new AutoResetEvent(false) }; _modules.CreateAndSetLocks().Returns(_locks); _git = Substitute.For<IGit>(); _depMgr = Substitute.For<IDependencyManager>(); _ruleFac = Substitute.For<IRuleFactory>(); _ruleFac.GetModules().Returns(_modules); _subject = new Builder(_filesystem, _git, _depMgr, _ruleFac, null); _subject.Prepare(); _subject.PullRepos(); }
public void Prepare() { _rootPath = _files.GetPlatformRoot(); Log.Status("Started in " + _rootPath.ToEnvironmentalPath() + "; Updating self"); _git.PullMaster(_rootPath); _patterns = _rules.GetRulePatterns(); Modules = _rules.GetModules(); try { Modules.ReadDependencies(_rootPath); } catch (UnknownModuleException ex) { Log.Error(ex.Message + ", will pull all repositories. You will need to retry platform build."); _locks = Modules.CreateAndSetLocks(); PullRepos(); CloneMissingRepos(); throw; } Modules.SortInDependencyOrder(); _depMgr.ReadMasters(_rootPath, _patterns.Masters); DeleteOldPaths(); Log.Verbose("Processing " + string.Join(", ", Modules.Paths)); CloneMissingRepos(); _locks = Modules.CreateAndSetLocks(); }