Skip to content

Commit

Permalink
Merge 604297f into bc06e53
Browse files Browse the repository at this point in the history
  • Loading branch information
Gavin Killough committed Jun 15, 2020
2 parents bc06e53 + 604297f commit 4cd445d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
1 change: 1 addition & 0 deletions docs/templates/content/90-releasenotes.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## Version 6.4.0
### New features
* Bazel detector: added support for Bazel projects that specify dependencies using the haskell_cabal_library repository rule.
* NuGet detector: added support for DotNet 3.1 runtime.
* ${solution_name} now supports projects managed by the Lerna package manager.
* ${solution_name} now supports projects managed by the Cargo package manager.
* ${solution_name} now supports projects managed by the Poetry package manager.
Expand Down
26 changes: 19 additions & 7 deletions docs/templates/content/advanced/package-managers/nuget.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,34 @@ The NuGet detectors can discover dependencies of NuGet projects.

## Overview

There are two Nuget detectors: the NuGet solution detector, and the NuGet project detector. Each detector runs one of two available inspectors: the newer dotnet inspector, and the older classic, or exe, inspector.
There are two Nuget detectors: the NuGet solution detector, and the NuGet project detector. Each detector runs one of three available inspectors: the new DotNet 3.1 inspector, the DotNet inspector (for DotNet 2.1 runtime), or the old Classic inspector (aka exe inspector).

On non-Windows systems: Only the dotnet inspector is supported. A dotnet executable is required.
On non-Windows systems: The DotNet 3.1 and DotNet inspectors are supported. A dotnet executable is required.

On Windows systems: Both inspectors (dotnet and classic) are supported. A dotnet executable is not required. If no dotnet executable is found, ${solution_name} runs the classic inspector.
On Windows systems: All inspectors (DotNet 3.1, DotNet, and Classic) are supported. A dotnet executable is not required. If no dotnet executable is found, ${solution_name} runs the Classic inspector.

By default, ${solution_name} looks for dotnet on $PATH. You can override this by setting the dotnet path property to point to your dotnet executable.

The NuGet detectors do not work with mono.

### Dotnet inspector
### DotNet 3.1 inspector

Source: https://github.com/blackducksoftware/nuget-dotnet3-inspector

Binary: https://sig-repo.synopsys.com/bds-integrations-nuget-release/NugetDotnet3Inspector/

Runtime: DotNet 3.1

Requires: .NET framework version 4.5

### DotNet inspector

Source: https://github.com/blackducksoftware/blackduck-nuget-inspector

Binary: https://sig-repo.synopsys.com/bds-integrations-nuget-release/BlackduckNugetInspector/

Runtime: DotNet 2.1

Requires: .NET framework version 4.5

### Classic inspector
Expand All @@ -30,7 +42,7 @@ Binary: https://sig-repo.synopsys.com/bds-integrations-nuget-release/Integration

## Operation

Each inspector (dotnet and classic) supports two detectors: NuGet solution detector, and NuGet project detector.
Each inspector (DotNet 3.1, DotNet, and Classic) supports two detectors: NuGet solution detector, and NuGet project detector.

The NuGet solution detector derives packages (dependencies) from solution (.sln) files.

Expand Down Expand Up @@ -86,7 +98,7 @@ The NuGet solution detector runs if one or more solution (.sln) files are found.

The NuGet Project detector runs if no solution files are found, and one or more project files are found. Refer to the preceding list of project file types.

The NuGet detectors run the appropriate inspector (dotnet: BlackduckNugetInspector, or classic: IntegrationNugetInspector), which it normally downloads automatically.
The NuGet detectors run the appropriate inspector (dotnet 3.1: NugetDotnet3Inspector, dotnet 2.1: BlackduckNugetInspector, or classic: IntegrationNugetInspector), which it normally downloads automatically.

The NuGet inspectors derive dependency information from the first type of file in this order:
1. packages.config
Expand All @@ -95,4 +107,4 @@ The NuGet inspectors derive dependency information from the first type of file i
4. project.json
5. XML of the project file

After discovering dependencies, both the dotnet inspector (BlackduckNugetInspector) and the classic inspector (IntegrationNugetInspector) use NuGet client libraries to collect further information about the dependencies and write it to a JSON file (`<projectname>_inspection.json`). ${solution_name} then parses that file for the dependency information.
After discovering dependencies, the dotnet inspector (NugetDotnet3Inspector or BlackduckNugetInspector) and the classic inspector (IntegrationNugetInspector) use NuGet client libraries to collect further information about the dependencies and write it to a JSON file (`<projectname>_inspection.json`). ${solution_name} then parses that file for the dependency information.

0 comments on commit 4cd445d

Please sign in to comment.