public PackageDownloader( DeploymentConfiguration deploymentConfiguration, ILogProvider logProvider, PackageDownloaderOptions options) { _deploymentConfiguration = deploymentConfiguration; _logProvider = logProvider; _logger = logProvider.GetLogger("Packages"); _performanceLogger = logProvider.GetLogger("Performance." + GetType().Name); _options = options; _filesUtility = new FilesUtility(logProvider); _packagesCacheFolder = Path.Combine(Paths.RhetosServerRootPath, "PackagesCache"); }
public PackageDownloader( DeploymentConfiguration deploymentConfiguration, ILogProvider logProvider, PackageDownloaderOptions options) { _deploymentConfiguration = deploymentConfiguration; _logProvider = logProvider; _logger = logProvider.GetLogger(GetType().Name); _packagesLogger = logProvider.GetLogger("Packages"); _performanceLogger = logProvider.GetLogger("Performance"); _options = options; _filesUtility = new FilesUtility(logProvider); }
/// <summary> /// Available location options: /// 1. Online nuget gallery ("http://..." or "https://..."). /// 2. Local folder or network folder with nuget packages. /// 3. Package project's source folder (unpacked, useful for package development). /// </summary> public PackageSource(string location) { if (string.IsNullOrEmpty(location)) { throw new UserException(string.Format( "Invalid configuration file. Provided location is empty. Check the configuration files {1} and {2}.", DeploymentConfiguration.SourcesConfigurationFileName, DeploymentConfiguration.PackagesConfigurationFileName)); } ProvidedLocation = location; if (System.Uri.IsWellFormedUriString(location, UriKind.Absolute)) { Uri = location; } else { Path = System.IO.Path.Combine(DeploymentConfiguration.GetConfigurationFolder(), location); string pathError = null; try { Path = System.IO.Path.GetFullPath(Path); } catch (Exception ex) { pathError = ex.Message; } if (pathError != null || (!Directory.Exists(Path) && !File.Exists(Path))) { throw new UserException(string.Format( "Invalid configuration file. Provided location '{0}' is not a valid URI or an existing path. Check the configuration files {1} and {2}.", location, DeploymentConfiguration.SourcesConfigurationFileName, DeploymentConfiguration.PackagesConfigurationFileName)); } } }
private static void DownloadPackages(ILogger logger, Arguments arguments) { var obsoleteFolders = new string[] { Path.Combine(Paths.RhetosServerRootPath, "DslScripts"), Path.Combine(Paths.RhetosServerRootPath, "DataMigration") }; var obsoleteFolder = obsoleteFolders.FirstOrDefault(folder => Directory.Exists(folder)); if (obsoleteFolder != null) throw new UserException("Backup all Rhetos server folders and delete obsolete folder '" + obsoleteFolder + "'. It is no longer used."); if (!arguments.DeployDatabaseOnly) { logger.Trace("Getting packages."); var config = new DeploymentConfiguration(DeploymentUtility.InitializationLogProvider); var packageDownloaderOptions = new PackageDownloaderOptions { IgnorePackageDependencies = arguments.IgnorePackageDependencies }; var packageDownloader = new PackageDownloader(config, DeploymentUtility.InitializationLogProvider, packageDownloaderOptions); var packages = packageDownloader.GetPackages(); InstalledPackages.Save(packages); } else logger.Info("Skipped download packages (DeployDatabaseOnly)."); }