From dfc861466fbef7725c8bb867c86e53e31aee4a3d Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Mon, 16 Jul 2018 14:01:59 -0700 Subject: [PATCH] Add missing attributes to GitGetParams schema See: https://github.com/spring-projects/sts4/issues/64 --- .../vscode/concourse/PipelineYmlSchema.java | 3 ++ .../resources/desc/GitGetParams/clean_tags.md | 1 + .../desc/GitGetParams/submodule_recursive.md | 1 + .../desc/GitGetParams/submodule_remote.md | 1 + .../vscode/concourse/ConcourseEditorTest.java | 29 +++++++++++++++---- 5 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/clean_tags.md create mode 100644 headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_recursive.md create mode 100644 headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_remote.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 d0a744a02..705e2e539 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 @@ -454,7 +454,10 @@ public class PipelineYmlSchema implements YamlSchema { AbstractType get = f.ybean("GitGetParams"); addProp(get, "depth", t_pos_integer); addProp(get, "submodules", f.yany("GitSubmodules").addHints("all", "none")); + addProp(get, "submodule_recursive", t_boolean); + addProp(get, "submodule_remote", t_boolean); addProp(get, "disable_git_lfs", t_boolean); + addProp(get, "clean_tags", t_boolean); addProp(get, "fetch", t_strings).isDeprecated(true); //Warning: t_strings is just a guess. This property is undocumented. The example I've seen seem to use list of git branch/tag names. AbstractType put = f.ybean("GitPutParams"); diff --git a/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/clean_tags.md b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/clean_tags.md new file mode 100644 index 000000000..244561315 --- /dev/null +++ b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/clean_tags.md @@ -0,0 +1 @@ +*Optional*. If `true` all incoming tags will be deleted. This is useful if you want to push tags, but have reasonable doubts that the tags cached with the resource are outdated. The default value is `false`. diff --git a/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_recursive.md b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_recursive.md new file mode 100644 index 000000000..7eed3fd2f --- /dev/null +++ b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_recursive.md @@ -0,0 +1 @@ +*Optional*. If `false`, a flat submodules checkout is performed. If not specified, or if `true` is explicitly specified, a recursive checkout is performed. \ No newline at end of file diff --git a/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_remote.md b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_remote.md new file mode 100644 index 000000000..f94238ede --- /dev/null +++ b/headless-services/concourse-language-server/src/main/resources/desc/GitGetParams/submodule_remote.md @@ -0,0 +1 @@ +*Optional*. If `true`, the submodules are checked out for the specified remote branch specified in the `.gitmodules` file of the repository. If not specified, or if `false` is explicitly specified, the tracked sub-module revision of the repository is used to check out the submodules. 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 4f3f35304..b4dd6c99d 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 @@ -1208,10 +1208,16 @@ public class ConcourseEditorTest { assertContextualCompletions(context, "<*>" , // ===> + "clean_tags: <*>" + , "depth: <*>" , "disable_git_lfs: <*>" , + "submodule_recursive: <*>" + , + "submodule_remote: <*>" + , "submodules:\n"+ " <*>" , @@ -1243,12 +1249,19 @@ public class ConcourseEditorTest { " - get: my-git\n" + " params:\n" + " depth: -1\n" + - " disable_git_lfs: not-bool\n" + - " submodules: none" + " submodules: none\n" + + " disable_git_lfs: not-bool-a\n" + + " submodule_recursive: not-bool-b\n" + + " submodule_remote: not-bool-c\n" + + " clean_tags: not-bool-d\n" ); + editor.assertHoverContains("depth", "using the `--depth` option"); editor.assertHoverContains("submodules", "If `none`, submodules will not be fetched"); + editor.assertHoverContains("submodule_recursive", "If `false`, a flat submodules checkout is performed"); + editor.assertHoverContains("submodule_remote", "If `true`, the submodules are checked out for"); editor.assertHoverContains("disable_git_lfs", "will not fetch Git LFS files"); + editor.assertHoverContains("clean_tags", "If `true` all incoming tags will be deleted"); } @Test public void gitResourceGetParamsReconcile() throws Exception { @@ -1262,11 +1275,17 @@ public class ConcourseEditorTest { " - get: my-git\n" + " params:\n" + " depth: -1\n" + - " disable_git_lfs: not-bool\n" + " disable_git_lfs: not-bool-a\n" + + " submodule_recursive: not-bool-b\n" + + " submodule_remote: not-bool-c\n" + + " clean_tags: not-bool-d\n" ); editor.assertProblems( "-1|must be positive", - "not-bool|'boolean'" + "not-bool-a|'boolean'", + "not-bool-b|'boolean'", + "not-bool-c|'boolean'", + "not-bool-d|'boolean'" ); } @@ -1414,8 +1433,8 @@ public class ConcourseEditorTest { " plan:\n" + " - put: my-git\n" + " get_params:\n" + - " depth: 1\n" + " submodules: none\n" + + " depth: 1\n" + " disable_git_lfs: true\n" );