Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }