Include support for projects with Windows-based dependencies

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

Include a method for allowing gemnasium-python to be run on projects with Windows dependencies. This will likely require a Windows-friendly image to be used by the license scanner.

Currently, gemnasium-python runs on a Linux-based image, and runs pip download on the project's requirements.txt, as part of its initialization process. On projects containing Windows-specific dependencies, this causes the job to fail with a message similar to the one below:

$ /analyzer run
[INFO] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/cmd/gemnasium-python/main.go:51] ▶ GitLab gemnasium-python analyzer v4.0.0-rc4
[DEBU] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/finder/finder.go:64] ▶ inspect directory: .
[DEBU] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/finder/finder.go:96] ▶ skip ignored directory: .git
[DEBU] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/finder/detect.go:84] ▶ Selecting pip for pypi because this is the first match
[INFO] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/finder/finder.go:116] ▶ Detected supported dependency files in '.'. Dependency files detected in this directory will be processed. Dependency files in other directories will be skipped.
[DEBU] [gemnasium-python] [2023-05-16T12:40:24Z] [/go/src/app/cmd/gemnasium-python/main.go:226] ▶ Exporting dependencies for /builds/gitlab-gold/cmutua-security-group/python-ds-windows-fail/requirements.txt
[DEBU] [gemnasium-python] [2023-05-16T12:40:25Z] [/go/src/app/builder/pip/pip.go:120] ▶ /usr/local/bin/pip3 download --disable-pip-version-check --dest ./dist -r requirements.txt
ERROR: Could not find a version that satisfies the requirement msvc-runtime (from versions: none)
ERROR: No matching distribution found for msvc-runtime
exit status 1

The requirements.txt file in the above example contained the library msvc-runtime.

Edited by 🤖 GitLab Bot 🤖