michaellzc / vscode-hadolint

VSCode extension to integrate hadolint, a Dockerfile linter, into VSCode
https://marketplace.visualstudio.com/items?itemName=exiasr.hadolint
MIT License
78 stars 5 forks source link

setting hadolintPath using variable ${workspaceFolder} does not work #86

Open sanderegg opened 8 months ago

sanderegg commented 8 months ago

Describe the bug A clear and concise description of what the bug is. I use hadolint via a bash script that runs hadolint in a docker container and it is located inside my repository

Therefore I have my settings.json file set as "hadolint.hadolintPath": "${workspaceFolder}/scripts/hadolint.bash"

Then I get the error hadolint: Cannot find adolint from system $PATH, .... If I set an absolute path in "hadolint.hadolintPath": "/the/path/to/scripts/hadolint.bash" then it works.

but that is very annoying for sharing the directory of course. To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behaviour using ${workspaceFolder} should resolve

Environment and version (please complete the following information):

ferrarimarco commented 2 months ago

Hi! I'm getting the same error, although my use case is different.

Hadolint is installed as a binary in my devcontainer, and it's available in the PATH. I'm using the ${workspaceFolder} variable as part of the path to a workspace-specific Hadolint configuration. My configuration for the exiasr.hadolint extension is as follows:

"hadolint.cliOptions": [
  "--config",
  "${workspaceFolder}/config/lint/.hadolint.yaml"
]

With these settings, I get the following output:

[hadolint] hadolint: ${workspaceFolder}/config/lint/.hadolint.yaml: withBinaryFile: does not exist (No such file or directory)

If I use a fixed path for the configuration file option, hadolint works correctly:

"hadolint.cliOptions": [
  "--config",
  "/workspaces/workspace-name/config/lint/.hadolint.yaml"
]

In case it's helpful, here are some data points about the environment.

Environment and version (please complete the following information):