public override int Execute(string[] commandLineArguments)
        {
            Options.Parse(commandLineArguments);

            try
            {
                CheckArguments(
                    packageId,
                    packageVersion,
                    feedId,
                    feedUri,
                    feedUsername,
                    feedPassword,
                    maxDownloadAttempts,
                    attemptBackoffSeconds,
                    out var version,
                    out var uri,
                    out var parsedMaxDownloadAttempts,
                    out var parsedAttemptBackoff);

                var packageDownloaderStrategy = new PackageDownloaderStrategy(log,
                                                                              scriptEngine,
                                                                              fileSystem,
                                                                              commandLineRunner,
                                                                              variables);
                var pkg = packageDownloaderStrategy.DownloadPackage(
                    packageId,
                    version,
                    feedId,
                    uri,
                    feedType,
                    feedUsername,
                    feedPassword,
                    forcePackageDownload,
                    parsedMaxDownloadAttempts,
                    parsedAttemptBackoff);

                log.VerboseFormat("Package {0} v{1} successfully downloaded from feed: '{2}'", packageId, version, feedUri);
                log.SetOutputVariableButDoNotAddToVariables("StagedPackage.Hash", pkg.Hash);
                log.SetOutputVariableButDoNotAddToVariables("StagedPackage.Size", pkg.Size.ToString(CultureInfo.InvariantCulture));
                log.SetOutputVariableButDoNotAddToVariables("StagedPackage.FullPathOnRemoteMachine", pkg.FullFilePath);
            }
            catch (Exception ex)
            {
                log.ErrorFormat("Failed to download package {0} v{1} from feed: '{2}'", packageId, packageVersion, feedUri);
                return(ConsoleFormatter.PrintError(log, ex));
            }

            return(0);
        }
Пример #2
0
        public override int Execute(string[] commandLineArguments)
        {
            Options.Parse(commandLineArguments);

            try
            {
                CheckArguments(
                    packageId,
                    packageVersion,
                    feedId,
                    feedUri,
                    feedUsername,
                    feedPassword,
                    maxDownloadAttempts,
                    attemptBackoffSeconds,
                    out var version,
                    out var uri,
                    out var parsedMaxDownloadAttempts,
                    out var parsedAttemptBackoff);

                var commandLineRunner = new CommandLineRunner(new ConsoleCommandOutput());
                var pkg = new PackageDownloaderStrategy(scriptEngine, CalamariPhysicalFileSystem.GetPhysicalFileSystem(), commandLineRunner).DownloadPackage(
                    packageId,
                    version,
                    feedId,
                    uri,
                    feedType,
                    GetFeedCredentials(feedUsername, feedPassword),
                    forcePackageDownload,
                    parsedMaxDownloadAttempts,
                    parsedAttemptBackoff);

                Log.VerboseFormat("Package {0} v{1} successfully downloaded from feed: '{2}'", packageId, version, feedUri);
                Log.SetOutputVariable("StagedPackage.Hash", pkg.Hash);
                Log.SetOutputVariable("StagedPackage.Size", pkg.Size.ToString(CultureInfo.InvariantCulture));
                Log.SetOutputVariable("StagedPackage.FullPathOnRemoteMachine", pkg.FullFilePath);
            }
            catch (Exception ex)
            {
                Log.ErrorFormat("Failed to download package {0} v{1} from feed: '{2}'", packageId, packageVersion, feedUri);
                return(ConsoleFormatter.PrintError(ex));
            }

            return(0);
        }