public static IDownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(new WebRequestProxy(), new FileProxy()).AsCached(dlArgs.IgnoreCache); var nugetDownloadStrategy = new NugetDownloadStrategy(new WebRequestProxy(), new DirectoryProxy(), new FileProxy(), dlArgs.Folder, dlArgs.NugetSource).AsCached(dlArgs.IgnoreCache); IDownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return(effectiveStrategy); }
public static DownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(new WebRequestProxy(), new FileSystemProxy()).AsCached(dlArgs.IgnoreCache); var nugetDownloadStrategy = new NugetDownloadStrategy(new WebRequestProxy(), new FileSystemProxy(), dlArgs.Folder, dlArgs.NugetSource).AsCached(dlArgs.IgnoreCache); DownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return(effectiveStrategy.AsTemporarilyIgnored(dlArgs.MaxFileAgeInMinutes, dlArgs.Target)); }
private static IDownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.PrepareWebRequest, BootstrapperHelper.GetDefaultWebProxyFor); var nugetDownloadStrategy = new NugetDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.GetDefaultWebProxyFor, dlArgs.Folder, dlArgs.NugetSource); IDownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return(dlArgs.IgnoreCache ? effectiveStrategy : new CacheDownloadStrategy(effectiveStrategy)); }
private static IDownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.PrepareWebRequest, BootstrapperHelper.GetDefaultWebProxyFor); var nugetDownloadStrategy = new NugetDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.GetDefaultWebProxyFor, dlArgs.Folder, dlArgs.NugetSource); IDownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return dlArgs.IgnoreCache ? effectiveStrategy : new CacheDownloadStrategy(effectiveStrategy); }
private static IDownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.PrepareWebRequest, BootstrapperHelper.GetDefaultWebProxyFor); var nugetDownloadStrategy = new NugetDownloadStrategy(BootstrapperHelper.PrepareWebClient, BootstrapperHelper.GetDefaultWebProxyFor, dlArgs.Folder); IDownloadStrategy effectiveStrategy; if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return effectiveStrategy; }