string[] GetFilesToSubstitute(IVariables variables) { var isEnableNoMatchWarningSet = variables.IsSet(PackageVariables.EnableNoMatchWarning); var additionalFileSubstitutions = GetAdditionalFileSubstitutions(variables); if (!isEnableNoMatchWarningSet) { var hasAdditionalSubstitutions = !string.IsNullOrEmpty(additionalFileSubstitutions); variables.AddFlag(PackageVariables.EnableNoMatchWarning, hasAdditionalSubstitutions); } var result = new List <string>(); var runAutomaticFileSubstitution = variables.GetFlag(TerraformSpecialVariables.Action.Terraform.RunAutomaticFileSubstitution, true); if (runAutomaticFileSubstitution) { result.AddRange(new[] { "**/*.tf", "**/*.tf.json", "**/*.tfvars", "**/*.tfvars.json" }); } var additionalFileSubstitution = additionalFileSubstitutions; if (!string.IsNullOrWhiteSpace(additionalFileSubstitution)) { result.AddRange(additionalFileSubstitution.Split(new[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)); } return(result.ToArray()); }
public int Execute(string[] args) { var pathToPrimaryPackage = variables.GetPathToPrimaryPackage(fileSystem, false); var isEnableNoMatchWarningSet = variables.IsSet(PackageVariables.EnableNoMatchWarning); if (!isEnableNoMatchWarningSet) { var hasAdditionalSubstitutions = !string.IsNullOrEmpty(GetAdditionalFileSubstitutions()); variables.AddFlag(PackageVariables.EnableNoMatchWarning, hasAdditionalSubstitutions); } 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); }