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 8c32cacce..f3b505fc8 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 @@ -873,6 +873,7 @@ public class PipelineYmlSchema implements YamlSchema { AbstractType get = f.ybean("SemverGetParams"); addProp(get, "bump", f.yenum("SemverBump", "major", "minor", "patch", "final")); addProp(get, "pre", t_ne_string); + addProp(get, "pre_without_version", t_boolean); AbstractType put = f.ybean("SemverPutParams"); for (YTypedProperty p : get.getProperties()) { diff --git a/headless-services/concourse-language-server/src/main/resources/desc/SemverGetParams/pre_without_version.md b/headless-services/concourse-language-server/src/main/resources/desc/SemverGetParams/pre_without_version.md new file mode 100644 index 000000000..886c80a83 --- /dev/null +++ b/headless-services/concourse-language-server/src/main/resources/desc/SemverGetParams/pre_without_version.md @@ -0,0 +1,2 @@ +*Optional.* By default `false`, once it's set to `true` +then PreRelease will be bumped without a version number. \ 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 6e7bf2a84..a6988b0e1 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 @@ -3715,6 +3715,35 @@ public class ConcourseEditorTest { editor.assertHoverContains("openstack", "All openstack configuration"); } + @Test public void GH_849_build_without_version() throws Exception { + Editor editor = harness.newEditor( + "resources:\n" + + "- name: test\n" + + " type: semver\n" + + " source:\n" + + " driver: git\n" + + " uri: some-git-url\n" + + " branch: main\n" + + " file: VERSION\n" + + "jobs:\n" + + "- name: test\n" + + " plan:\n" + + " - get: test\n" + + " params:\n" + + " pre_without_version: not-a-bool\n" + + " - put: test\n" + + " params:\n" + + " pre_without_version: not-b-bool\n" + ); + editor.assertProblems( + "not-a-bool|boolean", + "not-b-bool|boolean" + ); + + editor.assertHoverContains("pre_without_version", 1, "PreRelease will be bumped"); + editor.assertHoverContains("pre_without_version", 2, "PreRelease will be bumped"); + } + @Test public void semverResourceGetParamsReconcileAndHovers() throws Exception { Editor editor = harness.newEditor( "resources:\n" +