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