示例#1
0
        public int Execute(string[] args)
        {
            var pathToPrimaryPackage = variables.GetPathToPrimaryPackage(fileSystem, false);

            var isEnableNoMatchWarningSet = variables.IsSet(PackageVariables.EnableNoMatchWarning);

            if (!isEnableNoMatchWarningSet && !string.IsNullOrEmpty(GetAdditionalFileSubstitutions()))
            {
                variables.Add(PackageVariables.EnableNoMatchWarning, "true");
            }

            var runningDeployment = new RunningDeployment(pathToPrimaryPackage, variables);

            if (pathToPrimaryPackage != null)
            {
                extractPackage.ExtractToStagingDirectory(pathToPrimaryPackage);
            }

            var filesToSubstitute = GetFilesToSubstitute();

            substituteInFiles.Substitute(runningDeployment, filesToSubstitute);

            InstallAsync(runningDeployment).GetAwaiter().GetResult();

            return(0);
        }