예제 #1
0
        private static Task restore(Dependency query, Solution solution, List<INugetFile> nugets)
        {
            return Task.Factory.StartNew(() =>
            {
                var nuget = solution.Restore(query);

                RippleLog.Debug("Downloading " + nuget);
                nugets.Add(nuget.DownloadTo(solution, solution.PackagesDirectory()));
            });
        }
예제 #2
0
        public void Clean(Solution solution, CleanMode mode)
        {
            if (mode == CleanMode.all || mode == CleanMode.packages)
            {
                var packagesFolder = solution.PackagesDirectory();
                _fileSystem.CleanWithTracing(packagesFolder);
            }

            if (mode == CleanMode.all || mode == CleanMode.projects)
            {
                solution.Projects.Each(p => p.Clean(_fileSystem));
            }
        }
예제 #3
0
        public void Clean(Solution solution, CleanMode mode)
        {
            if (mode == CleanMode.all || mode == CleanMode.packages)
            {
                var packagesFolder = solution.PackagesDirectory();
                RippleLog.Debug("Deleting " + packagesFolder);
                _fileSystem.CleanDirectory(packagesFolder);
            }

            if (mode == CleanMode.all || mode == CleanMode.projects)
            {
                solution.Projects.Each(p => p.Clean(_fileSystem));
            }
        }
예제 #4
0
        private static Task restore(Dependency query, Solution solution, List<INugetFile> nugets)
        {
            return Task.Factory.StartNew(() =>
            {
                var nuget = solution.Restore(query);

                RippleLog.Debug("Downloading " + nuget);
                nugets.Add(nuget.DownloadTo(solution, solution.PackagesDirectory()));
            }).ContinueWith(task =>
                {
                   if (task.Exception == null)
                   {
                       RippleLog.Info("Downloaded " + query);
                   }
                });
        }
예제 #5
0
        public ReferenceAttacher(Solution solution)
        {
            _solution = solution;
            _repository = new LocalPackageRepository(_solution.PackagesDirectory());

            _packages = new Cache<string, IPackage>(name =>
            {
                try
                {
                    return _repository.FindPackage(name);
                }
                catch (Exception)
                {
                    return null;
                }
            });

            _toolsVersionMatch["4.0"] = "net40";
        }
예제 #6
0
        private static Task restore(Dependency query, Solution solution, MissingNugetReport report, List<INugetFile> nugets)
        {
            RippleLog.Debug("Restoring " + query);

            var result = solution.Restore(query);
            return result.ContinueWith(task =>
            {
                if (!task.Result.Found)
                {
                    report.Add(query);
                    report.AddProblems(task.Result.Problems);
                    return;
                }

                var nuget = task.Result.Nuget;
                RippleLog.Debug("Downloading " + nuget);

                nugets.Add(nuget.DownloadTo(solution, solution.PackagesDirectory()));
            }, TaskContinuationOptions.NotOnFaulted);
        }
예제 #7
0
        public void get_nuget_directory()
        {
            var solution = new Solution
            {
                SourceFolder = "source",
                Directory = ".".ToFullPath()
            };

            var storage = new StubNugetStorage();
            storage.Add("FubuCore", "0.9.1.37");
            solution.UseStorage(storage);

            var project = new Project("something.csproj");
            var dependency = new Dependency("FubuCore", "0.9.1.37");
            project.AddDependency(dependency);
            solution.AddProject(project);

            var spec = new NugetSpec("FubuCore", "somefile.nuspec");

            solution.NugetFolderFor(spec)
                .ShouldEqual(".".ToFullPath().AppendPath(solution.PackagesDirectory(), "FubuCore"));
        }
예제 #8
0
파일: NugetFile.cs 프로젝트: 4lexm/ripple
 public string NugetFolder(Solution solution)
 {
     return ExplodedDirectory(solution.PackagesDirectory());
 }
예제 #9
0
        public LocalDependencies Dependencies(Solution solution)
        {
            var nupkgSet = new FileSet
            {
                DeepSearch = true,
                Include = "*.nupkg"
            };

            var files = _fileSystem
              .FindFiles(solution.PackagesDirectory(), nupkgSet)
              .Select(x => _strategy.FileFor(x)).ToList();

            return new LocalDependencies(files);
        }
예제 #10
0
		public string NugetFolder(Solution solution)
		{
			return solution.PackagesDirectory().AppendPath(Name);
		}