public override void Write(CustomFileWriter writer) { if (VariableGroups.Length > 0) { using (writer.WriteBlock("variables:")) { VariableGroups.ForEach(x => writer.WriteLine($"- group: {x}")); writer.WriteLine(); } } if (VcsPushTrigger != null) { using (writer.WriteBlock("trigger:")) { VcsPushTrigger.Write(writer); writer.WriteLine(); } } using (writer.WriteBlock("stages:")) { Stages.ForEach(x => x.Write(writer)); } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("#"); if (Parameters.Length > 0) { using (writer.WriteBlock("parameters:")) { foreach (var item in Parameters) { item.Write(writer); } } } using (writer.WriteBlock("steps:")) { #pragma warning disable CA1308 var parameters = Parameters .Select(z => $"--{z.Name.ToLowerInvariant()} '${{{{ parameters.{z.Name} }}}}'") .ToArray() .JoinSpace(); #pragma warning restore CA1308 foreach (var step in Steps) { step.Write(writer, parameters); } } }
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) { using (writer.WriteBlock($"artifacts({BuildType.Id})")) { writer.WriteArray("artifactRules", ArtifactRules); } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("project")) { if (Description != null) { writer.WriteLine($"description = {Description}"); } foreach (var buildType in BuildTypes) { writer.WriteLine($"buildType({buildType.Id})"); } writer.WriteLine(); writer.WriteLine($"buildTypesOrder = arrayListOf({BuildTypes.Select(x => x.Id).JoinCommaSpace()})"); writer.WriteLine(); if (Parameters.Any()) { using (writer.WriteBlock("params")) { foreach (var parameter in Parameters) { parameter.Write(writer); } } } } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("- checkout: self")) { if (IncludeLargeFileStorage.HasValue) { writer.WriteLine($"lfs: {IncludeLargeFileStorage.Value}".ToLower()); } if (InclueSubmodules.HasValue) { writer.WriteLine($"submodules: {InclueSubmodules.Value}".ToLower()); } if (FetchDepth.HasValue) { writer.WriteLine($"fetchDepth: {FetchDepth.Value}"); } if (Clean.HasValue) { writer.WriteLine($"clean: {Clean.Value}".ToLower()); } } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock($"- job: {Name}")) { writer.WriteLine($"displayName: {DisplayName.SingleQuote()}"); writer.WriteLine($"dependsOn: [ {Dependencies.Select(x => x.Name).JoinCommaSpace()} ]"); if (Image != null) { using (writer.WriteBlock("pool:")) { writer.WriteLine($"vmImage: {Image.Value.GetValue().SingleQuote().SingleQuote()}"); } } if (Parallel > 1) { using (writer.WriteBlock("strategy:")) { writer.WriteLine($"parallel: {Parallel}"); } } using (writer.WriteBlock("steps:")) { Steps.ForEach(x => x.Write(writer)); } } }
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) { using (writer.WriteBlock($"stage('{Name}')")) { Agent.Write(writer); using (writer.WriteBlock($"steps")) { Unstashes?.ForEach(s => s.Write(writer)); if (IsCheckoutScm) { writer.WriteLine($"checkout scm"); } if (!string.IsNullOrWhiteSpace(InvokedTarget)) { if (Agent.AgentPlatform == JenkinsAgentPlatform.Unix) { writer.WriteLine($"sh 'sh ./build.sh --target {InvokedTarget} --skip'"); } else if (Agent.AgentPlatform == JenkinsAgentPlatform.Windows) { writer.WriteLine($"bat './build.cmd --target {InvokedTarget} --skip'"); } } Stashes?.ForEach(s => s.Write(writer)); } } }
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($"{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) { using (writer.WriteBlock("finishBuildTrigger")) { writer.WriteLine($"buildType = {$"${{{BuildType.Id}.id}}".DoubleQuote()}"); } }
public static void CreateGanttChartForRessource(JobInProgress jobInProgress, IJobQueue scopeQueue, Agent agent) { List <GanttChartItem> ganttData = new List <GanttChartItem>(); if (jobInProgress.IsSet) { ganttData.AddRange(CreateGanttProcessingQueueLog(new[] { jobInProgress.GanttItem }, true, "Processing", jobInProgress, agent)); // add from scope } ganttData.AddRange(CreateGanttProcessingQueueLog(jobInProgress.GanttItems.ToArray(), false, "ReadyElement", jobInProgress, agent)); var jobs = scopeQueue.GetAllJobs().OrderBy(x => x.Job.Priority(agent.CurrentTime)).ToList(); ganttData.AddRange(CreateGanttProcessingQueueLog(jobs.ToArray(), false, "ScopeQueue", jobInProgress, agent)); CustomFileWriter.WriteToFile($"Logs//ResourceScheduleAt-{agent.CurrentTime}.log", JsonConvert.SerializeObject(ganttData).Replace("[", "").Replace("]", ",")); if (jobs.Count > 0) { if (jobs.First().ScopeConfirmation.GetScopeStart() < jobInProgress.ResourceIsBusyUntil) { agent.DebugMessage("Seems wrong"); } } }
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) { // WithProperties(x => x.Underscore().Dasherize().ToLowerInvariant()); if (!string.IsNullOrWhiteSpace(DotNetVersion)) { With.Add("dotnet-version", DotNetVersion); } if (!string.IsNullOrWhiteSpace(SourceUrl)) { With.Add("source-url", SourceUrl); } if (!string.IsNullOrWhiteSpace(Owner)) { With.Add("owner", Owner); } if (!string.IsNullOrWhiteSpace(SourceUrl)) { NuGetAuthToken = string.IsNullOrWhiteSpace(NuGetAuthToken) ? "${{ secrets.GITHUB_TOKEN }}" : NuGetAuthToken; } if (!string.IsNullOrWhiteSpace(NuGetAuthToken)) { Environment.Add("NUGET_AUTH_TOKEN", NuGetAuthToken); } base.Write(writer); }
public override void Write(CustomFileWriter writer) { var variableGroups = VariableGroups; if (variableGroups.Length > 0) { VariableGroups = Array.Empty <string>(); } using (writer.WriteBlock("variables:")) { variableGroups.ForEach(x => writer.WriteLine($"- group: {x}")); Variables.ForEach(x => { using (writer.WriteBlock($"- name: {x.Name}")) { writer.WriteLine($"value: {x.Value}"); } }); writer.WriteLine(); } base.Write(writer); VariableGroups = variableGroups; }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("stages:")) { Stages.ForEach(x => x.Write(writer)); } }
public override void Write(CustomFileWriter writer) { Header.ForEach(writer.WriteLine); Project.Write(writer); Project.VcsRoot.Write(writer); Project.BuildTypes.ForEach(x => x.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.WriteBlock("vcs")) { writer.WriteArray("branchFilter", BranchFilters); writer.WriteArray("triggerRules", TriggerRules); } }
public virtual void WriteExecStep(CustomFileWriter writer, string arguments) { using (writer.WriteBlock("exec")) { writer.WriteLine("path = \"build.sh\""); writer.WriteLine($"arguments = \"{arguments}\""); } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("vcs")) { writer.WriteLine($"branchFilter = {BranchFilter.DoubleQuote()}"); writer.WriteLine($"triggerRules = {TriggerRules.DoubleQuote()}"); } }
public virtual void WriteExecStep(CustomFileWriter writer, string arguments) { using (writer.WriteBlock("exec")) { writer.WriteLine($"path = {BashScript.DoubleQuote()}"); writer.WriteLine($"arguments = {arguments.DoubleQuote()}"); } }
public override void Write(CustomFileWriter writer) { writer.WriteLine("schedule:"); using (writer.Indent()) { writer.WriteLine($"- cron: '{Cron}'"); } }
public virtual void WritePowerShellStep(CustomFileWriter writer, string arguments) { using (writer.WriteBlock("powerShell")) { writer.WriteLine("scriptMode = file { path = \"build.ps1\" }"); writer.WriteLine($"param(\"jetbrains_powershell_scriptArguments\",\"{arguments}\")"); writer.WriteLine("noProfile = true"); } }
public void Write(CustomFileWriter writer, string parameters) { using (writer.WriteBlock( $"- pwsh: {ScriptPath} {InvokedTargets.JoinSpace()} --skip {parameters}".TrimEnd() )) { writer.WriteLine($"displayName: {DisplayName.SingleQuote()}"); } }
public override void Write(CustomFileWriter writer) { using (writer.WriteBlock("vcs")) { writer.WriteLine($"root({Root.Id})"); if (ShowDependenciesChanges) writer.WriteLine("showDependenciesChanges = true"); } }
public virtual void WritePowerShellStep(CustomFileWriter writer, string arguments) { using (writer.WriteBlock("powerShell")) { writer.WriteLine($"scriptMode = file {{ path = {PowerShellScript.DoubleQuote()} }}"); writer.WriteLine($"param(\"jetbrains_powershell_scriptArguments\", {arguments.DoubleQuote()})"); writer.WriteLine("noProfile = true"); } }
public static IDisposable WriteBlock(this CustomFileWriter writer, string text) { return(DelegateDisposable .CreateBracket( () => writer.WriteLine(string.IsNullOrWhiteSpace(text) ? "{" : $"{text} {{"), () => writer.WriteLine("}")) .CombineWith(writer.Indent())); }