Users/jcfiorenzano23/go 117 experiment #1359
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new experimental detector for go. The main difference of this detector with respect to the usual one is that only relies on the information coming in the go.mod file to parse the components and go.mod after 1.17 introduces all types of dependencies, not only direct ones. This is already supported by the default go detector but only if fallback is enabled as the default behavior is to parse the result coming from the go list command.
This detector also adds the characteristic that also uses the go graph command to create the graph of dependencies between the components. This feature is only available in the default detector when parsing the information coming from the CLI.
To simplify the sharing of code between both detectors, the PR also refactored the default detector and extract the different parsers to its own file: