public override void Write(CustomFileWriter writer) { writer.WriteLine(Kind.GetValue() + ":"); using (writer.Indent()) { if (Branches.Length > 0) { writer.WriteLine("branches:"); using (writer.Indent()) { Branches.ForEach(x => writer.WriteLine($"- {x}")); } } if (Tags.Length > 0) { writer.WriteLine("tags:"); using (writer.Indent()) { Tags.ForEach(x => writer.WriteLine($"- {x}")); } } if (IncludePaths.Length > 0 || ExcludePaths.Length > 0) { writer.WriteLine("paths:"); using (writer.Indent()) { IncludePaths.ForEach(x => writer.WriteLine($"- {x}")); ExcludePaths.ForEach(x => writer.WriteLine($"- !{x}")); } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"object {Id} : GitVcsRoot({{"); using (writer.Indent()) { writer.WriteLine($"name = {Name.DoubleQuote()}"); writer.WriteLine($"url = {Url.DoubleQuote()}"); writer.WriteLine($"branch = {Branch.DoubleQuote()}"); writer.WriteLine($"pollInterval = {PollInterval}"); if (BranchSpec != null) { writer.WriteLine("branchSpec = \"\"\""); using (writer.Indent()) { foreach (var branchSpec in BranchSpec) { writer.WriteLine(branchSpec); } } writer.WriteLine("\"\"\".trimIndent()"); } } writer.WriteLine("})"); }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"name: {Name}"); writer.WriteLine(); if (ShortTriggers.Length > 0) { writer.WriteLine($"on: [{ShortTriggers.Select(x => x.GetValue().ToLowerInvariant()).JoinComma()}]"); } else { writer.WriteLine("on:"); using (writer.Indent()) { DetailedTriggers.ForEach(x => x.Write(writer)); } } writer.WriteLine(); writer.WriteLine("jobs:"); using (writer.Indent()) { Jobs.ForEach(x => x.Write(writer)); } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"{Name}:"); using (writer.Indent()) { writer.WriteLine($"strategy:"); using (writer.Indent()) { writer.WriteLine($"fail-fast: false"); writer.WriteLine($"matrix:"); using (writer.Indent()) { var images = string.Join(", ", Images.Select(image => image.GetValue().Replace(".", "_"))); writer.WriteLine($"os: [{images}]"); } } writer.WriteLine($"runs-on: ${{{{ matrix.os }}}}"); writer.WriteLine("steps:"); using (writer.Indent()) { foreach (var step in Steps) { step.Write(writer); } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"name: {Name}"); writer.WriteLine(); if (ShortTriggers.Count > 0) { writer.WriteLine($"on: [{ShortTriggers.Select(x => x.GetValue().ToLowerInvariant()).JoinComma()}]"); } else { writer.WriteLine("on:"); using (writer.Indent()) { DetailedTriggers.ForEach(x => x.Write(writer)); } } writer.WriteLine(); writer.WriteLine("jobs:"); using (writer.Indent()) { Jobs.ForEach(x => x.Write(writer)); } if (Environment?.Any() == true) { writer.WriteLine("env:"); using (writer.Indent()) { Environment.ForEach(x => writer.WriteLine($"{x.Key}: {x.Value}")); } } }
public override void Write(CustomFileWriter writer) { using (writer.Indent()) { writer.WriteLine("schedule:"); using (writer.Indent()) { writer.WriteLine($" - cron: '{Cron}'"); } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("- uses: actions/upload-artifact@v1"); using (writer.Indent()) { writer.WriteLine("with:"); using (writer.Indent()) { writer.WriteLine($"name: {Name}"); writer.WriteLine($"path: {Path}"); } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"{Name}:"); using (writer.Indent()) { writer.WriteLine($"name: {Name}"); writer.WriteLine($"runs-on: {Image.GetValue()}"); writer.WriteLine("steps:"); using (writer.Indent()) { Steps.ForEach(x => x.Write(writer)); } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"{Type.ToString().ToLowerInvariant()} ("); using (writer.Indent()) { writer.WriteLine($"{("env." + Name).DoubleQuote()},"); writer.WriteLine($"label = {Name.DoubleQuote()},"); if (Description != null) { writer.WriteLine($"description = {Description.DoubleQuote()},"); } writer.WriteLine($"value = {DefaultValue.DoubleQuote()},"); if (AllowMultiple) { writer.WriteLine("allowMultiple = true,"); writer.WriteLine($"valueSeparator = {ValueSeparator.DoubleQuote()},"); } if (Options != null) { var mappings = Options.Select(x => $"{x.Key.DoubleQuote()} to {x.Value.ToString().DoubleQuote()}"); writer.WriteLine($"options = listOf({mappings.JoinComma()}),"); } if (Options == null) { writer.WriteLine($"allowEmpty = {(Display != TeamCityParameterDisplay.Prompt).ToString().ToLowerInvariant()},"); } writer.WriteLine($"display = ParameterDisplay.{Display.ToString().ToUpperInvariant()})"); } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"object {Id} : BuildType({{"); using (writer.Indent()) { writer.WriteLine($"name = {Name.DoubleQuote()}"); if (Description != null) { writer.WriteLine($"description = {Description.DoubleQuote()}"); } if (IsComposite) { writer.WriteLine("type = Type.COMPOSITE"); } VcsRoot.Write(writer); WriteArtifacts(writer); if (!IsComposite) { WriteSteps(writer); } WriteParameters(writer); WriteTriggers(writer); WriteDependencies(writer); } writer.WriteLine("})"); }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"- name: Cache {IncludePatterns.JoinComma()}"); using (writer.Indent()) { writer.WriteLine("uses: actions/cache@v2"); writer.WriteLine("with:"); using (writer.Indent()) { writer.WriteLine("path: |"); IncludePatterns.ForEach(x => writer.WriteLine($" {x}")); ExcludePatterns.ForEach(x => writer.WriteLine($" !{x}")); writer.WriteLine($"key: ${{{{ runner.os }}}}-${{{{ hashFiles({KeyFiles.Select(x => x.SingleQuote()).JoinComma()}) }}}}"); } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"- name: Run '{Command}'"); writer.WriteLine($" run: {Command}"); if (Imports.Count > 0) { using (writer.Indent()) { writer.WriteLine("env:"); using (writer.Indent()) { Imports.ForEach(x => writer.WriteLine($" {x.Key}: {x.Value}")); } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("workflow_dispatch:"); using (writer.Indent()) { writer.WriteLine("inputs:"); using (writer.Indent()) { foreach (var input in Inputs) { writer.WriteLine($"{input}:"); using (writer.Indent()) { writer.WriteLine($"description: {input.SplitCamelHumpsWithSeparator(" ", Constants.KnownWords).DoubleQuote()}"); } } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("text("); using (writer.Indent()) { writer.WriteLine($"{Key.DoubleQuote()},"); writer.WriteLine($"{Value.DoubleQuote()},"); writer.WriteLine($"display = ParameterDisplay.{TeamCityParameterDisplay.Hidden.ToString().ToUpperInvariant()})"); } }
public override void Write(CustomFileWriter writer) { base.Write(writer); using (writer.Indent()) { if (!string.IsNullOrWhiteSpace(Shell)) { writer.WriteLine($"shell: {Shell}"); } writer.WriteLine($"run: |"); using (writer.Indent()) { foreach (var line in Run.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries)) { writer.WriteLine(line.Trim()); } } } }
public static IDisposable WriteBlock(this CustomFileWriter writer, string text) { return(DelegateDisposable .CreateBracket( () => writer.WriteLine(string.IsNullOrWhiteSpace(text) ? "{" : $"{text} {{"), () => writer.WriteLine("}")) .CombineWith(writer.Indent())); }
public override void Write(CustomFileWriter writer) { writer.WriteLine("param("); using (writer.Indent()) { writer.WriteLine($"{Key.DoubleQuote()},"); writer.WriteLine(Value.DoubleQuote()); } writer.WriteLine(")"); }
public override void Write(CustomFileWriter writer) { writer.WriteLine("- uses: actions/checkout@v2"); if (Submodules.HasValue || FetchDepth.HasValue) { using (writer.Indent()) { writer.WriteLine("with:"); using (writer.Indent()) { if (Submodules.HasValue) { writer.WriteLine($"submodules: {Submodules.ToString().ToLowerInvariant()}"); } if (FetchDepth.HasValue) { writer.WriteLine($"fetch-depth: {FetchDepth}"); } } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"- name: {GetStepName(StepName)}"); using (writer.Indent()) { if (!string.IsNullOrWhiteSpace(Id)) { writer.WriteLine($"id: {Id}"); } if (!string.IsNullOrWhiteSpace(If)) { writer.WriteLine($"if: {If}"); } if (Environment?.Any() == true) { writer.WriteLine("env:"); using (writer.Indent()) { Environment.ForEach(x => { writer.WriteLine($"{x.Key}: {x.Value}"); }); } } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("workflow_dispatch:"); using (writer.Indent()) { writer.WriteLine("inputs:"); using (writer.Indent()) { void WriteInput(string input, bool required) { writer.WriteLine($"{input}:"); using (writer.Indent()) { writer.WriteLine($"description: {input.SplitCamelHumpsWithSeparator(" ", Constants.KnownWords).DoubleQuote()}"); writer.WriteLine($"required: {required.ToString().ToLowerInvariant()}"); } } OptionalInputs.ForEach(x => WriteInput(x, required: false)); RequiredInputs.ForEach(x => WriteInput(x, required: true)); } } }
public override void Write(CustomFileWriter writer) { writer.WriteLine($"{Kind.GetValue()}:"); void WriteValue(string value) => writer.WriteLine($"- {value.SingleQuoteIfNeeded('*', '!')}"); using (writer.Indent()) { if (Branches.Length > 0) { writer.WriteLine("branches:"); using (writer.Indent()) { Branches.ForEach(WriteValue); } } if (BranchesIgnore.Length > 0) { writer.WriteLine("branches-ignore:"); using (writer.Indent()) { BranchesIgnore.ForEach(WriteValue); } } if (Tags.Length > 0) { writer.WriteLine("tags:"); using (writer.Indent()) { Tags.ForEach(WriteValue); } } if (TagsIgnore.Length > 0) { writer.WriteLine("tags-ignore:"); using (writer.Indent()) { TagsIgnore.ForEach(WriteValue); } } if (IncludePaths.Length > 0 || ExcludePaths.Length > 0) { writer.WriteLine("paths:"); using (writer.Indent()) { IncludePaths.ForEach(WriteValue); ExcludePaths.Select(x => $"!{x}").ForEach(WriteValue); } } } }
public virtual void WriteArtifacts(CustomFileWriter writer) { if (!ArtifactRules?.Any() ?? true) { return; } writer.WriteLine("artifactRules = \"\"\""); using (writer.Indent()) { foreach (var artifactRule in ArtifactRules) { writer.WriteLine(artifactRule); } } writer.WriteLine("\"\"\".trimIndent()"); }
public static void WriteArray(this CustomFileWriter writer, string property, string[] values) { if (!values?.Any() ?? true) { return; } if (values.Length <= 1) { writer.WriteLine($"{property} = {values.Single().DoubleQuote()}"); return; } writer.WriteLine($"{property} = \"\"\""); using (writer.Indent()) { foreach (var value in values) { writer.WriteLine(value); } } writer.WriteLine("\"\"\""); }
public static IDisposable WriteBlock(this CustomFileWriter writer, string text) { return(DelegateDisposable .CreateBracket(() => writer.WriteLine(text)) .CombineWith(writer.Indent())); }