From 8317884ca864710119a2eddd24fbd2c7497f03c6 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 18 Jan 2017 17:09:47 -0800 Subject: [PATCH] Add hovers for all GitResourceSource props --- .../desc/GitResourceSource/branch.md | 1 + .../commit_verification_key_ids.md | 9 +++++++ .../commit_verification_keys.md | 7 +++++ .../desc/GitResourceSource/disable_ci_skip.md | 2 ++ .../desc/GitResourceSource/git_config.md | 7 +++++ .../desc/GitResourceSource/gpg_keyserver.md | 2 ++ .../desc/GitResourceSource/ignore_paths.md | 10 +++++++ .../desc/GitResourceSource/password.md | 3 +++ .../resources/desc/GitResourceSource/paths.md | 2 ++ .../desc/GitResourceSource/private_key.md | 12 +++++++++ .../skip_ssl_verification.md | 2 ++ .../desc/GitResourceSource/tag_filter.md | 4 +++ .../desc/GitResourceSource/username.md | 3 +++ .../concourse/PipelineYamlEditorTest.java | 26 +++++++++++++++++++ 14 files changed, 90 insertions(+) create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/branch.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_key_ids.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_keys.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/disable_ci_skip.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/git_config.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/gpg_keyserver.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/ignore_paths.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/password.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/paths.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/private_key.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/skip_ssl_verification.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/tag_filter.md create mode 100644 vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/username.md diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/branch.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/branch.md new file mode 100644 index 000000000..1fb447919 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/branch.md @@ -0,0 +1 @@ +*Required.* The branch to track. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_key_ids.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_key_ids.md new file mode 100644 index 000000000..08a57f180 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_key_ids.md @@ -0,0 +1,9 @@ +*Optional.* Array of GPG public key ids that +the resource will check against to verify the commit (details below). The +corresponding keys will be fetched from the key server specified in +`gpg_keyserver`. The ids can be short id, long id or fingerprint. + +If `commit_verification_keys` or `commit_verification_key_ids` is specified in +the source configuration, it will additionally verify that the resulting commit +has been GPG signed by one of the specified keys. It will error if this is not +the case. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_keys.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_keys.md new file mode 100644 index 000000000..905888e0c --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/commit_verification_keys.md @@ -0,0 +1,7 @@ +*Optional.* Array of GPG public keys that the +resource will check against to verify the commit. + +If `commit_verification_keys` or `commit_verification_key_ids` is specified in +the source configuration, it will additionally verify that the resulting commit +has been GPG signed by one of the specified keys. It will error if this is not +the case. diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/disable_ci_skip.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/disable_ci_skip.md new file mode 100644 index 000000000..0b24f2efa --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/disable_ci_skip.md @@ -0,0 +1,2 @@ +*Optional.* Allows for commits that have been labeled with `[ci skip]` or `[skip ci]` +previously to be discovered by the resource. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/git_config.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/git_config.md new file mode 100644 index 000000000..604851a39 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/git_config.md @@ -0,0 +1,7 @@ +*Optional.* If specified as (list of pairs `name` and `value`) +it will configure git global options, setting each name with each value. + +This can be useful to set options like `credential.helper` or similar. + +See the [`git-config(1)` manual page](https://www.kernel.org/pub/software/scm/git/docs/git-config.html) +for more information and documentation of existing git options. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/gpg_keyserver.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/gpg_keyserver.md new file mode 100644 index 000000000..ea28fe083 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/gpg_keyserver.md @@ -0,0 +1,2 @@ +*Optional.* GPG keyserver to download the public keys from. +Defaults to `hkp:///keys.gnupg.net/`. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/ignore_paths.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/ignore_paths.md new file mode 100644 index 000000000..7b829339a --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/ignore_paths.md @@ -0,0 +1,10 @@ +*Optional.* A list of glob patterns. The inverse of `paths`; changes +to the specified files are ignored. + +Note that if you want to push commits that change these files via a `put`, +the commit will still be "detected", as [`check` and `put` both introduce +versions](https://concourse.ci/pipeline-mechanics.html#collecting-versions). +To avoid this you should define a second resource that you use for commits +that change files that you don't want to feed back into your pipeline - think +of one as read-only (with `ignore_paths`) and one as write-only (which +shouldn't need it). \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/password.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/password.md new file mode 100644 index 000000000..5bdec2ca5 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/password.md @@ -0,0 +1,3 @@ +*Optional.* Password for HTTP(S) auth when pulling/pushing. + +Note: You can also use pipeline templating to hide this password in source control. (For more information: https://concourse.ci/fly-set-pipeline.html) diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/paths.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/paths.md new file mode 100644 index 000000000..bad6585c9 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/paths.md @@ -0,0 +1,2 @@ +*Optional.* If specified (as a list of glob patterns), only changes +to the specified files will yield new versions from `check`. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/private_key.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/private_key.md new file mode 100644 index 000000000..509214543 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/private_key.md @@ -0,0 +1,12 @@ +*Optional.* Private key to use when pulling/pushing. + +Example: + + private_key: | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAtCS10/f7W7lkQaSgD/mVeaSOvSF9ql4hf/zfMwfVGgHWjj+W + + DWiJL+OFeg9kawcUL6hQ8JeXPhlImG6RTUffma9+iGQyyBMCGd1l + -----END RSA PRIVATE KEY----- + +Note: You can also use pipeline templating to hide this private key in source control. (For more information: https://concourse.ci/fly-set-pipeline.html) \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/skip_ssl_verification.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/skip_ssl_verification.md new file mode 100644 index 000000000..a0164dd20 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/skip_ssl_verification.md @@ -0,0 +1,2 @@ +*Optional.* Skips git ssl verification by exporting +`GIT_SSL_NO_VERIFY=true`. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/tag_filter.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/tag_filter.md new file mode 100644 index 000000000..bc17098c1 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/tag_filter.md @@ -0,0 +1,4 @@ +`tag_filter`: *Optional.* If specified, the resource will only detect commits +that have a tag matching the specified expression. Patterns are +[glob(7)](http://man7.org/linux/man-pages/man7/glob.7.html) compatible (as +in, bash compatible). \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/username.md b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/username.md new file mode 100644 index 000000000..3272745f5 --- /dev/null +++ b/vscode-extensions/vscode-concourse/src/main/resources/desc/GitResourceSource/username.md @@ -0,0 +1,3 @@ +*Optional.* Username for HTTP(S) auth when pulling/pushing. +This is needed when only HTTP/HTTPS protocol for git is available (which does not support private key auth) +and auth is required. \ No newline at end of file diff --git a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java index cb6d33a25..1089a1b83 100644 --- a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java +++ b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java @@ -718,6 +718,20 @@ public class PipelineYamlEditorTest { , "username: <*>" ); + + assertContextualCompletions( + "resources:\n" + + "- name: the-repo\n" + + " type: git\n" + + " source:\n" + + " git_config:\n" + + " - <*>" + , // ============= + "<*>" + , // ==> + "name: <*>", + "value: <*>" + ); } @Test public void gitResourceSourceHovers() throws Exception { @@ -745,6 +759,18 @@ public class PipelineYamlEditorTest { " gpg_keyserver: hkp://somekeyserver.net" ); editor.assertHoverContains("uri", "*Required.* The location of the repository."); + editor.assertHoverContains("branch", "The branch to track"); + editor.assertHoverContains("private_key", "Private key to use when pulling/pushing"); + editor.assertHoverContains("username", "Username for HTTP(S) auth"); + editor.assertHoverContains("password", "Password for HTTP(S) auth"); + editor.assertHoverContains("paths", "a list of glob patterns"); + editor.assertHoverContains("ignore_paths", "The inverse of `paths`"); + editor.assertHoverContains("skip_ssl_verification", "Skips git ssl verification"); + editor.assertHoverContains("tag_filter", "the resource will only detect commits"); + editor.assertHoverContains("git_config", "configure git global options"); + editor.assertHoverContains("disable_ci_skip", "Allows for commits that have been labeled with `[ci skip]`"); + editor.assertHoverContains("commit_verification_keys", "Array of GPG public keys"); + editor.assertHoverContains("commit_verification_key_ids", "Array of GPG public key ids"); } @Test