public async Task <bool> BuildStepAsync( Settings settings, string outputCloudFormationFilePath, bool noAssemblyValidation, bool noPackageBuild, string gitSha, string gitBranch, string buildConfiguration, string selector, string moduleSource, VersionInfo moduleVersion, bool forceBuild, BuildPolicy buildPolicy ) { try { if (!await PopulateDeploymentTierSettingsAsync(settings, allowCaching: true)) { return(false); } // set build policy settings.BuildPolicy = buildPolicy; return(await new BuildStep(settings, moduleSource).DoAsync( outputCloudFormationFilePath, noAssemblyValidation, noPackageBuild, gitSha, gitBranch, buildConfiguration, selector, moduleVersion, forceBuild )); } catch (Exception e) { LogError(e); return(false); } finally { // always make sure to remove build policy settings.BuildPolicy = null; } }
private async Task <(bool Success, BuildPolicy BuildPolicy)> LoadBuildPolicyAsync(CommandOption buildPolicyOption) { BuildPolicy buildPolicy = null; if (buildPolicyOption.HasValue()) { string buildPolicyText; try { buildPolicyText = await File.ReadAllTextAsync(Path.Combine(Directory.GetCurrentDirectory(), buildPolicyOption.Value())); } catch (IOException) { LogError("could not open build policy document"); return(Success : false, BuildPolicy : null); } try { buildPolicy = JsonSerializer.Deserialize <BuildPolicy>(buildPolicyText); } catch (JsonException) { LogError("unable to parse build policy document"); return(Success : false, BuildPolicy : null); } } return(Success : true, BuildPolicy : buildPolicy); }