From 8f9057cc5f14576ce5cc68a639d687ee74ecf7fc Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Sat, 28 Jan 2017 18:41:27 -0800 Subject: [PATCH] One-of constraint applied to TaskStep --- .../ide/vscode/concourse/PipelineYmlSchema.java | 1 + .../ide/vscode/concourse/ConcourseEditorTest.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java b/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java index 3ab97fb30..064e1fcab 100644 --- a/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java +++ b/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java @@ -223,6 +223,7 @@ public class PipelineYmlSchema implements YamlSchema { addProp(taskStep, "image", t_ne_string); addProp(taskStep, "input_mapping", f.ymap(t_ne_string, t_resource_name)); addProp(taskStep, "output_mapping", t_string_params); + taskStep.requireOneOf("config", "file"); YBeanType aggregateStep = f.ybean("AggregateStep"); YBeanType doStep = f.ybean("DoStep"); diff --git a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java index c90cef941..4554beddc 100644 --- a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java +++ b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java @@ -114,6 +114,7 @@ public class ConcourseEditorTest { " tags: a-single-string\n" ); editor.assertProblems( + "task: a-task\n tags: a-single-string|One of [config, file] is required", "a-single-string|Expecting a 'Sequence'" ); @@ -483,6 +484,7 @@ public class ConcourseEditorTest { " - get: sts4\n" + " - get: bogus-get\n" + " - task: do-stuff\n" + + " file: some-file.yml\n" + " input_mapping:\n" + " task-input: bogus-input\n" + " repo: sts4\n" + @@ -622,6 +624,7 @@ public class ConcourseEditorTest { " plan:\n" + " - get: git-repo\n" + " - task: run-build\n" + + " file: some-task.yml\n" + " - put: build-artefact\n" + "- name: test\n" + " plan:\n" + @@ -647,6 +650,7 @@ public class ConcourseEditorTest { " plan:\n" + " - get: git-repo\n" + " - task: run-build\n" + + " file: tasks/some-task.yml\n" + " - put: build-artefact\n" + "- name: test\n" + " plan:\n" +