// ReSharper disable once CognitiveComplexity public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("image:")) { Images.ForEach(x => writer.WriteLine($"- {x.GetValue()}")); writer.WriteLine(); } if (Services.Length > 0) { using (writer.WriteBlock("services:")) { Services.ForEach(x => writer.WriteLine($"- {x.GetValue().ToLowerInvariant()}")); } writer.WriteLine(); } if (Branches != null) { using (writer.WriteBlock("branches:")) { Branches.Write(writer); } writer.WriteLine(); } if (SkipTags || SkipBranchesWithPullRequest || OnlyCommitsMessage != null || OnlyCommitsAuthor != null || SkipCommitsMessage != null || SkipCommitsAuthor != null) { if (SkipTags) { writer.WriteLine("skip_tags: true"); } if (SkipBranchesWithPullRequest) { writer.WriteLine("skip_branch_with_pr: true"); } if (OnlyCommitsMessage != null || OnlyCommitsAuthor != null) { using (writer.WriteBlock("only_commits:")) { if (OnlyCommitsMessage != null) { writer.WriteLine($"message: {OnlyCommitsMessage}"); } if (OnlyCommitsAuthor != null) { writer.WriteLine($"author: {OnlyCommitsAuthor}"); } } } if (SkipCommitsMessage != null || SkipCommitsAuthor != null) { using (writer.WriteBlock("skip_commits:")) { if (SkipCommitsMessage != null) { writer.WriteLine($"message: {SkipCommitsMessage}"); } if (SkipCommitsAuthor != null) { writer.WriteLine($"author: {SkipCommitsAuthor}"); } } } writer.WriteLine(); } if (Init.Length > 0) { using (writer.WriteBlock("init:")) { Init.ForEach(x => writer.WriteLine($"- {x}")); } writer.WriteLine(); } if (Submodules) { using (writer.WriteBlock("install:")) { writer.WriteLine("- git submodule update --init --recursive"); } writer.WriteLine(); } using (writer.WriteBlock("build_script:")) { writer.WriteLine($@"- cmd: .\{BuildCmdPath} {InvokedTargets.JoinSpace()}"); writer.WriteLine($@"- sh: ./{BuildCmdPath} {InvokedTargets.JoinSpace()}"); } if (Cache.Length > 0) { writer.WriteLine(); using (writer.WriteBlock("cache:")) { Cache.ForEach(x => writer.WriteLine($"- {x}")); } } if (Artifacts.Length > 0) { writer.WriteLine(); using (writer.WriteBlock("artifacts:")) { Artifacts.ForEach(x => writer.WriteLine($"- path: {x}")); } } if (Secrets.Count > 0) { writer.WriteLine(); using (writer.WriteBlock("environment:")) { foreach (var(key, value) in Secrets) { using (writer.WriteBlock($"{key}:")) { writer.WriteLine($"secure: {value}"); } } } } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("image:")) { Images.ForEach(x => writer.WriteLine($"- {x.GetValue()}")); writer.WriteLine(); } if (Services.Length > 0) { using (writer.WriteBlock("services:")) { Services.ForEach(x => writer.WriteLine($"- {x.GetValue().ToLowerInvariant()}")); writer.WriteLine(); } } if (Branches != null) { using (writer.WriteBlock("branches:")) { Branches.Write(writer); writer.WriteLine(); } } if (SkipTags || SkipBranchesWithPullRequest || OnlyCommitsMessage != null || OnlyCommitsAuthor != null || SkipCommitsMessage != null || SkipCommitsAuthor != null) { if (SkipTags) { writer.WriteLine("skip_tags: true"); } if (SkipBranchesWithPullRequest) { writer.WriteLine("skip_branch_with_pr: true"); } if (OnlyCommitsMessage != null || OnlyCommitsAuthor != null) { using (writer.WriteBlock("only_commits:")) { if (OnlyCommitsMessage != null) { writer.WriteLine($"message: {OnlyCommitsMessage}"); } if (OnlyCommitsAuthor != null) { writer.WriteLine($"author: {OnlyCommitsAuthor}"); } } } if (SkipCommitsMessage != null || SkipCommitsAuthor != null) { using (writer.WriteBlock("skip_commits:")) { if (SkipCommitsMessage != null) { writer.WriteLine($"message: {SkipCommitsMessage}"); } if (SkipCommitsAuthor != null) { writer.WriteLine($"author: {SkipCommitsAuthor}"); } } } writer.WriteLine(); } if (Init.Length > 0) { using (writer.WriteBlock("init:")) { Init.ForEach(x => writer.WriteLine($"- {x}")); writer.WriteLine(); } } using (writer.WriteBlock("build_script:")) { writer.WriteLine($@"- ps: .\{Path.ChangeExtension(BuildCmdPath, ".ps1")} {InvokedTargets.JoinSpace()}"); writer.WriteLine(); } if (Cache.Length > 0) { using (writer.WriteBlock("cache:")) { Cache.ForEach(x => writer.WriteLine($"- {x}")); } } if (Artifacts.Length > 0) { using (writer.WriteBlock("artifacts:")) { Artifacts.ForEach(x => writer.WriteLine($"- path: {x}")); } } }