protected override void Because() { rootBuildMetaData = CreateStub<IBuildMetaData>(); dependencyBuildMetaData = CreateStub<IBuildMetaData>(); var simpleDependency = new Dependency("simpleDependency", "simpleDependency.boo"); var rootDependency = new Dependency("root", "root.boo"); rootBuildMetaData.BuildEngine = new BuildEngine(new BuildToolStub(), "root.boo", Horn.Core.Utils.Framework.FrameworkVersion.FrameworkVersion35, CreateStub<IDependencyDispatcher>()); rootBuildMetaData.BuildEngine.Dependencies.Add(simpleDependency); dependencyBuildMetaData.BuildEngine = new BuildEngine(new BuildToolStub(), "simpleDependency.boo", Utils.Framework.FrameworkVersion.FrameworkVersion35, CreateStub<IDependencyDispatcher>()); dependencyBuildMetaData.BuildEngine.Dependencies.Add(rootDependency); packageTree = CreateStub<IPackageTree>(); packageTree.Stub(x => x.Name).Return("root"); packageTree.Stub(x => x.GetBuildMetaData("root")).Return(rootBuildMetaData); dependentTree = CreateStub<IPackageTree>(); dependentTree.Stub(x => x.Name).Return("simpleDependency"); dependentTree.Stub(x => x.GetBuildMetaData("simpleDependency")).Return(dependencyBuildMetaData); packageTree.Stub(x => x.RetrievePackage(simpleDependency)).Return(dependentTree); packageTree.Stub(x => x.RetrievePackage(rootDependency)).Return(packageTree); dependentTree.Stub(x => x.RetrievePackage(simpleDependency)).Return(dependentTree); dependentTree.Stub(x => x.RetrievePackage(rootDependency)).Return(packageTree); }
public void Execute(IPackageTree packageTree, IEnumerable<string> dependencyPaths, Dependency dependency) { if (!HasADependencyToUpdate(dependencyPaths)) return; InfoFormat("Dependency: Executing Dependency Updaters for {0}", packageTree.Name); var dependentUpdaterContext = new DependentUpdaterContext(packageTree, dependencyPaths, dependency); updaters.ForEach(updater => updater.Update(dependentUpdaterContext)); }
private FileInfo[] GetDependencyFiles(Dependency dependency, IPackageTree packageForCurrentDependency) { DirectoryInfo dependencyDirectory = packageForCurrentDependency.Result; var files = dependencyDirectory.GetFiles(string.Format("{0}.*", dependency.Library)); var ret = new List<FileInfo>(); files.ForEach(file => { var extension = Path.GetFileName(file.FullName).Substring(dependency.Library.Length); if (AllowedExtensions.Contains(extension)) ret.Add(file); }); return ret.ToArray(); }
public static IPackageTree CreatePackageTreeNode(string packageName, string[] dependencyNames) { var buildMetaData = MockRepository.GenerateStub<IBuildMetaData>(); buildMetaData.BuildEngine = new BuildEngine(new BuildToolStub(), String.Format("{0}.boo", packageName), Core.Utils.Framework.FrameworkVersion.FrameworkVersion35, MockRepository.GenerateStub<IDependencyDispatcher>()); foreach (string dependencyName in dependencyNames) { var dependency = new Dependency(dependencyName, dependencyName); buildMetaData.BuildEngine.Dependencies.Add(dependency); } var packageTree = MockRepository.GenerateStub<IPackageTree>(); packageTree.Stub(x => x.Name).Return(packageName); packageTree.Stub(x => x.GetBuildMetaData("root")).Return(buildMetaData).Repeat.Any(); packageTree.Stub(x => x.GetBuildMetaData("complexDependency")).Return(buildMetaData).Repeat.Any(); packageTree.Stub(x => x.GetBuildMetaData("sharedDependency")).Return(buildMetaData).Repeat.Any(); return packageTree; }
private IPackageTree GetPackageForCurrentDependency(IPackageTree packageTree, Dependency dependency) { return packageTree.RetrievePackage(dependency.PackageName); }
public IPackageTree RetrievePackage(Dependency dependency) { throw new NullTreeException(); }
public DependentUpdaterContext(IPackageTree package, IEnumerable<string> dependencyPaths, Dependency dependency) { this.package = package; this.dependencyPaths = dependencyPaths; this.dependency = dependency; }
public virtual IPackageTree RetrievePackage(Dependency dependency) { return RetrievePackage(dependency.PackageName, dependency.Version); }