From 7ea2e155fb6e9c453d702400adc9e67a1a218716 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 7 Sep 2022 10:29:27 -0700 Subject: [PATCH] Fix https://github.com/spring-projects/sts4/issues/830 Add support for `depth` attribute in GitSemverSource. --- .../ide/vscode/concourse/PipelineYmlSchema.java | 3 ++- .../src/main/resources/desc/GitSemverSource/depth.md | 1 + .../ide/vscode/concourse/ConcourseEditorTest.java | 9 +++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 headless-services/concourse-language-server/src/main/resources/desc/GitSemverSource/depth.md diff --git a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java index 44a2bb887..8c32cacce 100644 --- a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java +++ b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java @@ -603,7 +603,7 @@ public class PipelineYmlSchema implements YamlSchema { source.require(Constraints.mutuallyExclusive("tag_filter", "tag_regex")); AbstractType get = f.ybean("GitGetParams"); - addProp(get, "depth", t_pos_integer); + addProp(get, "depth", t_strictly_pos_integer); addProp(get, "fetch_tags", t_boolean); addProp(get, "submodules", f.yany("GitSubmodules").addHints("all", "none")); addProp(get, "submodule_recursive", t_boolean); @@ -823,6 +823,7 @@ public class PipelineYmlSchema implements YamlSchema { addProp(git_source, "username", t_ne_string); addProp(git_source, "password", t_ne_string); addProp(git_source, "git_user", t_ne_string); + addProp(git_source, "depth", t_strictly_pos_integer); addProp(git_source, "commit_message", t_ne_string); addProp(git_source, "skip_ssl_verification", t_boolean); diff --git a/headless-services/concourse-language-server/src/main/resources/desc/GitSemverSource/depth.md b/headless-services/concourse-language-server/src/main/resources/desc/GitSemverSource/depth.md new file mode 100644 index 000000000..fda1217ed --- /dev/null +++ b/headless-services/concourse-language-server/src/main/resources/desc/GitSemverSource/depth.md @@ -0,0 +1 @@ +*Optional.* If a positive integer is given, shallow clone the repository using the `--depth` option. \ No newline at end of file diff --git a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java index ea37deaf4..6e7bf2a84 100644 --- a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java +++ b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java @@ -1983,7 +1983,7 @@ public class ConcourseEditorTest { " describe_ref_options: whatever\n" ); editor.assertProblems( - "-1|must be at least 0", + "-1|must be at least 1", "not-bool-a|'boolean'", "not-bool-b|'boolean'", "not-bool-c|'boolean'", @@ -3448,6 +3448,8 @@ public class ConcourseEditorTest { , // ==> " commit_message: <*>" , + " depth: <*>" + , " git_user: <*>" , " initial_version: <*>" @@ -3483,14 +3485,15 @@ public class ConcourseEditorTest { " username: jsmith\n" + " password: s3cre$t\n" + " git_user: jsmith@mailhost.com\n" + + " depth: 0\n" + " bogus: bad" ); editor.assertProblems( "version|Unused", "skip-ssl|'boolean'", + "0|must be at least 1", "bogus|Unknown property" ); - editor.assertHoverContains("initial_version", "version number to use when bootstrapping"); editor.assertHoverContains("driver", "The driver to use"); editor.assertHoverContains("uri", "The repository URL"); @@ -3502,6 +3505,7 @@ public class ConcourseEditorTest { editor.assertHoverContains("git_user", "The git identity to use"); editor.assertHoverContains("commit_message", "overides the default commit message"); editor.assertHoverContains("skip_ssl_verification", "Skip SSL verification for git endpoint"); + editor.assertHoverContains("depth", "shallow clone the repository using the `--depth` option"); } @Test public void semverResourceSourcePrimaryContentAssist() throws Exception { @@ -3622,6 +3626,7 @@ public class ConcourseEditorTest { "<*>" , // ==> "commit_message: <*>", + "depth: <*>", "git_user: <*>", "initial_version: <*>", "password: <*>",