diff --git a/.editorconfig b/.editorconfig
index 1984a92e..8d00bf49 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -11,45 +11,17 @@ insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
+spelling_exclusion_path = ./exclusion.dic
+
+[*.md]
+indent_size = 2
+
+[*.json]
+indent_size = 2
# Generated code
-[*{_AssemblyInfo.cs,.notsupported.cs,AsmOffsets.cs}]
+[*{_AssemblyInfo.cs,.notsupported.cs,*/obj/*/External/**/*,*/obj/dotnet-new.IntegrationTests/*/TemplatePackagesPaths.cs}]
generated_code = true
-dotnet_style_operator_placement_when_wrapping = beginning_of_line
-tab_width = 4
-end_of_line = crlf
-dotnet_style_coalesce_expression = true:warning
-dotnet_style_null_propagation = true:warning
-dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
-dotnet_style_prefer_auto_properties = true:warning
-dotnet_style_object_initializer = true:warning
-dotnet_style_collection_initializer = true:warning
-dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
-dotnet_style_prefer_conditional_expression_over_assignment = true:silent
-dotnet_style_prefer_conditional_expression_over_return = true:silent
-dotnet_style_explicit_tuple_names = true:warning
-dotnet_style_prefer_inferred_tuple_names = true:warning
-dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
-dotnet_style_prefer_compound_assignment = true:suggestion
-dotnet_style_prefer_simplified_interpolation = true:suggestion
-dotnet_style_namespace_match_folder = true:suggestion
-dotnet_diagnostic.CA1000.severity = warning
-dotnet_diagnostic.CA1047.severity = warning
-dotnet_style_readonly_field = true:warning
-dotnet_style_predefined_type_for_locals_parameters_members = true:warning
-dotnet_style_predefined_type_for_member_access = true:warning
-dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
-dotnet_style_allow_multiple_blank_lines_experimental = true:silent
-dotnet_style_allow_statement_immediately_after_block_experimental = true:silent
-dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
-dotnet_code_quality_unused_parameters = all:suggestion
-dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
-dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
-dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
-dotnet_style_qualification_for_property = false:warning
-dotnet_style_qualification_for_field = false:warning
-dotnet_style_qualification_for_event = false:warning
-dotnet_style_qualification_for_method = true:warning
# C# files
[*.cs]
@@ -71,33 +43,33 @@ csharp_indent_switch_labels = true
csharp_indent_labels = one_less_than_current
# Modifier preferences
-csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:warning
+csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
# avoid this. unless absolutely necessary
-dotnet_style_qualification_for_field = false:warning
-dotnet_style_qualification_for_property = false:warning
-dotnet_style_qualification_for_method = false:warning
-dotnet_style_qualification_for_event = false:warning
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_event = false:suggestion
# Types: use keywords instead of BCL types, and permit var only when the type is clear
-csharp_style_var_for_built_in_types = false:warning
+csharp_style_var_for_built_in_types = false:none
csharp_style_var_when_type_is_apparent = false:none
-csharp_style_var_elsewhere = false:warning
-dotnet_style_predefined_type_for_locals_parameters_members = true:warning
-dotnet_style_predefined_type_for_member_access = true:warning
+csharp_style_var_elsewhere = false:none
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
# name all constant fields using PascalCase
-dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = warning
+dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
-dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
+dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# static fields should have s_ prefix
-dotnet_naming_rule.static_fields_should_have_prefix.severity = warning
+dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
-dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
+dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
@@ -105,38 +77,41 @@ dotnet_naming_style.static_prefix_style.required_prefix = s_
dotnet_naming_style.static_prefix_style.capitalization = camel_case
# internal and private fields should be _camelCase
-dotnet_naming_rule.camel_case_for_private_internal_fields.severity = warning
+dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
-dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
+dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
# Code style defaults
-csharp_using_directive_placement = outside_namespace:warning
+csharp_using_directive_placement = outside_namespace:suggestion
dotnet_sort_system_directives_first = true
csharp_prefer_braces = true:silent
csharp_preserve_single_line_blocks = true:none
csharp_preserve_single_line_statements = false:none
-csharp_prefer_static_local_function = true:warning
+csharp_prefer_static_local_function = true:suggestion
csharp_prefer_simple_using_statement = false:none
-csharp_style_prefer_switch_expression = true:warning
-dotnet_style_readonly_field = true:warning
+csharp_style_prefer_switch_expression = true:suggestion
+
+# Code quality
+dotnet_style_readonly_field = true:suggestion
+dotnet_code_quality_unused_parameters = non_public:suggestion
# Expression-level preferences
-dotnet_style_object_initializer = true:warning
-dotnet_style_collection_initializer = true:warning
-dotnet_style_explicit_tuple_names = true:warning
-dotnet_style_coalesce_expression = true:warning
-dotnet_style_null_propagation = true:warning
-dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
-dotnet_style_prefer_inferred_tuple_names = true:warning
-dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
-dotnet_style_prefer_auto_properties = true:warning
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
-csharp_prefer_simple_default_expression = true:warning
+csharp_prefer_simple_default_expression = true:suggestion
# Expression-bodied members
csharp_style_expression_bodied_methods = true:silent
@@ -149,13 +124,13 @@ csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = true:silent
# Pattern matching
-csharp_style_pattern_matching_over_is_with_cast_check = true:warning
-csharp_style_pattern_matching_over_as_with_null_check = true:warning
-csharp_style_inlined_variable_declaration = true:warning
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
# Null checking preferences
-csharp_style_throw_expression = true:warning
-csharp_style_conditional_delegate_call = true:warning
+csharp_style_throw_expression = true:suggestion
+csharp_style_conditional_delegate_call = true:suggestion
# Other features
csharp_style_prefer_index_operator = false:none
@@ -186,25 +161,324 @@ csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
+# Default analyzed API surface = 'all' (public APIs + non-public APIs)
+dotnet_code_quality.api_surface = all
+
# License header
-file_header_template = Licensed to the projects contributors.\nThe license conditions are provided in the LICENSE file located in the project root
-csharp_style_namespace_declarations = block_scoped:suggestion
-csharp_style_prefer_method_group_conversion = true:silent
-csharp_style_prefer_top_level_statements = true:silent
-csharp_style_prefer_null_check_over_type_check = true:suggestion
-csharp_style_prefer_local_over_anonymous_function = true:suggestion
-csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
-csharp_style_prefer_utf8_string_literals = true:suggestion
-csharp_style_prefer_tuple_swap = true:suggestion
-csharp_style_deconstructed_variable_declaration = true:suggestion
-csharp_style_unused_value_assignment_preference = discard_variable:suggestion
-csharp_style_unused_value_expression_statement_preference = discard_variable:silent
-csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
-csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent
-csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent
-csharp_style_prefer_pattern_matching = true:silent
-csharp_style_prefer_not_pattern = true:suggestion
-csharp_style_prefer_extended_property_pattern = true:suggestion
+file_header_template = Licensed to the project contributors.\nThe license conditions are provided in the LICENSE file located in the project root
+
+# Code files
+[*.{cs,vb}]
+# Analyzers
+dotnet_code_quality.ca1802.api_surface = private, internal
+dotnet_code_quality.ca1822.api_surface = private, internal
+dotnet_code_quality.ca2208.api_surface = public
+dotnet_public_api_analyzer.require_api_files = true
+# Mark attributes with AttributeUsageAttribute
+dotnet_diagnostic.CA1018.severity = warning
+# Properties should not be write only
+dotnet_diagnostic.CA1044.severity = warning
+# Do not declare protected member in sealed type
+dotnet_diagnostic.CA1047.severity = warning
+# Declare types in namespaces
+dotnet_diagnostic.CA1050.severity = warning
+# Avoid using cref tags with a prefix
+dotnet_diagnostic.CA1200.severity = suggestion
+# P/Invokes should not be visible
+dotnet_diagnostic.CA1401.severity = warning
+# Parameter names should match base declaration
+dotnet_diagnostic.CA1725.severity = suggestion
+# Remove empty Finalizers
+dotnet_diagnostic.CA1821.severity = warning
+# Mark assemblies with NeutralResourcesLanguageAttribute
+dotnet_diagnostic.CA1824.severity = warning
+# Do not use CountAsync() or LongCountAsync() when AnyAsync() can be used
+dotnet_diagnostic.CA1828.severity = warning
+# Prefer strongly-typed Append and Insert method overloads on StringBuilder.
+dotnet_diagnostic.CA1830.severity = warning
+# Use AsSpan or AsMemory instead of Range-based indexers when appropriate
+dotnet_diagnostic.CA1832.severity = warning
+# Use AsSpan or AsMemory instead of Range-based indexers when appropriate
+dotnet_diagnostic.CA1833.severity = warning
+# Prefer IsEmpty over Count
+dotnet_diagnostic.CA1836.severity = warning
+# Use 'Environment.ProcessPath'
+dotnet_diagnostic.CA1839.severity = warning
+# Do not call ToImmutableCollection on an ImmutableCollection value
+# Temporarily disable to avoid regression in preview 1, revert back to warning when start using preview 2
+dotnet_diagnostic.CA2009.severity = none
+# Avoid infinite recursion
+dotnet_diagnostic.CA2011.severity = warning
+# Initialize value type static fields inline
+dotnet_diagnostic.CA2207.severity = warning
+# Implement serialization constructors
+dotnet_diagnostic.CA2229.severity = warning
+# Provide correct arguments to formatting methods
+dotnet_diagnostic.CA2241.severity = warning
+# Test for NaN correctly
+dotnet_diagnostic.CA2242.severity = warning
+# Do not assign a property to itself.
+dotnet_diagnostic.CA2245.severity = warning
+# Provide correct 'enum' argument to 'Enum.HasFlag'
+dotnet_diagnostic.CA2248.severity = warning
+# Do Not Add Schema By URL
+dotnet_diagnostic.CA3061.severity = warning
+# Insecure DTD processing in XML
+dotnet_diagnostic.CA3075.severity = warning
+# Insecure XSLT script processing.
+dotnet_diagnostic.CA3076.severity = warning
+# Insecure Processing in API Design, XmlDocument and XmlTextReader
+dotnet_diagnostic.CA3077.severity = warning
+# Mark Verb Handlers With Validate Antiforgery Token
+dotnet_diagnostic.CA3147.severity = warning
+# Do Not Use Broken Cryptographic Algorithms
+dotnet_diagnostic.CA5351.severity = warning
+# Do Not Disable Certificate Validation
+dotnet_diagnostic.CA5359.severity = warning
+# Do Not Call Dangerous Methods In Deserialization
+dotnet_diagnostic.CA5360.severity = warning
+# Do Not Disable SChannel Use of Strong Crypto
+dotnet_diagnostic.CA5361.severity = warning
+# Do Not Disable Request Validation
+dotnet_diagnostic.CA5363.severity = warning
+# Do Not Use Deprecated Security Protocols
+dotnet_diagnostic.CA5364.severity = warning
+# Do Not Disable HTTP Header Checking
+dotnet_diagnostic.CA5365.severity = warning
+# Set ViewStateUserKey For Classes Derived From Page
+dotnet_diagnostic.CA5368.severity = warning
+# Use XmlReader For Validating Reader
+dotnet_diagnostic.CA5370.severity = warning
+# Do not use obsolete key derivation function
+dotnet_diagnostic.CA5373.severity = warning
+# Do Not Use XslTransform
+dotnet_diagnostic.CA5374.severity = warning
+# Use SharedAccessProtocol HttpsOnly
+dotnet_diagnostic.CA5376.severity = warning
+# Use Container Level Access Policy
+dotnet_diagnostic.CA5377.severity = warning
+# Do not disable ServicePointManagerSecurityProtocols
+dotnet_diagnostic.CA5378.severity = warning
+# Do Not Use Weak Key Derivation Function Algorithm
+dotnet_diagnostic.CA5379.severity = warning
+# Do Not Add Certificates To Root Store
+dotnet_diagnostic.CA5380.severity = warning
+# Ensure Certificates Are Not Added To Root Store
+dotnet_diagnostic.CA5381.severity = warning
+# Do Not Use Digital Signature Algorithm (DSA)
+dotnet_diagnostic.CA5384.severity = warning
+# Use Rivest–Shamir–Adleman (RSA) Algorithm With Sufficient Key Size
+dotnet_diagnostic.CA5385.severity = warning
+# Parameter has no matching param tag in the XML comment
+dotnet_diagnostic.CS1573.severity = suggestion
+dotnet_diagnostic.CS1591.severity = suggestion
+# UseIsNullCheck
+dotnet_diagnostic.IDE0041.severity = warning
+# ValidateFormatString
+dotnet_diagnostic.IDE0043.severity = warning
+# MakeLocalFunctionStatic
+dotnet_diagnostic.IDE0062.severity = warning
+# FileHeaderMismatch
+dotnet_diagnostic.IDE0073.severity = warning
+# ConvertTypeOfToNameOf
+dotnet_diagnostic.IDE0082.severity = warning
+# Remove unnecessary lambda expression
+dotnet_diagnostic.IDE0200.severity = none
+# Remove redundant nullable directive
+dotnet_diagnostic.IDE0240.severity = warning
+
+# Additional rules for template engine source code
+
+# Default severity for analyzer diagnostics with category 'StyleCop.CSharp.SpacingRules'
+dotnet_analyzer_diagnostic.category-StyleCop.CSharp.SpacingRules.severity = none
+
+[{src,test}/**{Microsoft.TemplateEngine.*,dotnet-new?*}/**.cs]
+# Default analyzed API surface = 'public' (public APIs)
+dotnet_code_quality.api_surface = public
+# Provide ObsoleteAttribute message
+dotnet_diagnostic.CA1041.severity = warning
+# Static holder types should be Static or NotInheritable
+dotnet_diagnostic.CA1052.severity = warning
+# Use nameof to express symbol names
+dotnet_diagnostic.CA1507.severity = warning
+# Use literals where appropriate
+dotnet_diagnostic.CA1802.severity = warning
+# Do not initialize unnecessarily
+dotnet_diagnostic.CA1805.severity = warning
+# Initialize reference type static fields inline
+dotnet_diagnostic.CA1810.severity = warning
+# Avoid unused private fields
+dotnet_diagnostic.CA1823.severity = warning
+# Avoid zero-length array allocations.
+dotnet_diagnostic.CA1825.severity = warning
+# Do not use Enumerable methods on indexable collections. Instead use the collection directly
+dotnet_diagnostic.CA1826.severity = warning
+# Do not use Count() or LongCount() when Any() can be used
+dotnet_diagnostic.CA1827.severity = warning
+# Use Length/Count property instead of Count() when available
+dotnet_diagnostic.CA1829.severity = warning
+# Consider using 'StringBuilder.Append(char)' when applicable.
+dotnet_diagnostic.CA1834.severity = warning
+# Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync'
+dotnet_diagnostic.CA1835.severity = warning
+# Use 'Environment.ProcessId'
+dotnet_diagnostic.CA1837.severity = warning
+# Avoid 'StringBuilder' parameters for P/Invokes
+dotnet_diagnostic.CA1838.severity = warning
+# Use 'Environment.CurrentManagedThreadId'
+dotnet_diagnostic.CA1840.severity = warning
+# Consider calling ConfigureAwait on the awaited task
+dotnet_diagnostic.CA2007.severity = none
+# Do not create tasks without passing a TaskScheduler
+dotnet_diagnostic.CA2008.severity = warning
+# Use ValueTasks correctly
+dotnet_diagnostic.CA2012.severity = warning
+# Forward the 'CancellationToken' parameter to methods that take one
+dotnet_diagnostic.CA2016.severity = warning
+# Instantiate argument exceptions correctly
+dotnet_diagnostic.CA2208.severity = warning
+# Consider using 'string.Contains' instead of 'string.IndexOf'
+dotnet_diagnostic.CA2249.severity = warning
+# Do Not Use Weak Cryptographic Algorithms
+dotnet_diagnostic.CA5350.severity = warning
+# Do not use insecure randomness
+dotnet_diagnostic.CA5394.severity = warning
+# Remove unnecessary using directives
+dotnet_diagnostic.IDE0005.severity = warning
+# Fix formating
+dotnet_diagnostic.IDE0055.severity = warning
+# Single line comment should begin with a space
+dotnet_diagnostic.SA1005.severity = none
+# Opening parenthesis should not be preceded by a space
+dotnet_diagnostic.SA1008.severity = none
+# Closing parenthesis should not be followed by a space
+dotnet_diagnostic.SA1009.severity = none
+# Prefix local calls with this
+dotnet_diagnostic.SA1101.severity = none
+# Block statements should not contain embedded comments
+dotnet_diagnostic.SA1108.severity = none
+# Closing parenthesis should be on line of last parameter
+dotnet_diagnostic.SA1111.severity = none
+# Parameter should not span multiple lines
+dotnet_diagnostic.SA1118.severity = none
+# Statement should not use unnecessary parenthesis
+dotnet_diagnostic.SA1119.severity = none
+# Comments should contain text
+dotnet_diagnostic.SA1120.severity = none
+# Use string.Empty for empty strings
+dotnet_diagnostic.SA1122.severity = none
+# Region should not be located within a code element
+dotnet_diagnostic.SA1123.severity = none
+# Do not use regions
+dotnet_diagnostic.SA1124.severity = none
+# Generic type constraints should be on their own line
+dotnet_diagnostic.SA1127.severity = none
+# Put constructor initializers on their own line
+dotnet_diagnostic.SA1128.severity = none
+# Constant values should appear on the right-hand side of comparisons
+dotnet_diagnostic.SA1131.severity = none
+# Elements should have the same indentation
+dotnet_diagnostic.SA1137.severity = none
+# Use literal suffix notation instead of casting
+dotnet_diagnostic.SA1139.severity = none
+# Use tuple syntax
+dotnet_diagnostic.SA1141.severity = warning
+# Refer to tuple elements by name
+dotnet_diagnostic.SA1142.severity = warning
+# Using directive should appear within a namespace declaration
+dotnet_diagnostic.SA1200.severity = none
+# Field names should not begin with underscore
+dotnet_diagnostic.SA1309.severity = none
+# Type parameter names should begin with T
+dotnet_diagnostic.SA1314.severity = none
+# Tuple element names should use correct casing
+dotnet_diagnostic.SA1316.severity = warning
+# File may only contain a single type
+dotnet_diagnostic.SA1402.severity = none
+# Debug.Assert should provide message text
+dotnet_diagnostic.SA1405.severity = none
+# Arithmetic expressions should declare precedence
+dotnet_diagnostic.SA1407.severity = none
+# Conditional expressions should declare precedence
+dotnet_diagnostic.SA1408.severity = none
+# Use trailing comma in multi-line initializers
+dotnet_diagnostic.SA1413.severity = none
+# Tuple types in signatures should have element names
+dotnet_diagnostic.SA1414.severity = none
+# Statement should not be on a single line
+dotnet_diagnostic.SA1501.severity = none
+# Element should not be on a single line
+dotnet_diagnostic.SA1502.severity = none
+# All accessors should be single-line or multi-line
+dotnet_diagnostic.SA1504.severity = none
+# A closing brace should not be preceded by a blank line
+dotnet_diagnostic.SA1508.severity = none
+# Opening braces should not be preceded by blank line
+dotnet_diagnostic.SA1509.severity = none
+# Single-line comments should not be followed by blank line
+dotnet_diagnostic.SA1512.severity = none
+# Closing brace should be followed by blank line
+dotnet_diagnostic.SA1513.severity = none
+# Single-line comment should be preceded by blank line
+dotnet_diagnostic.SA1515.severity = none
+# Code should not contain blank lines at the end of the file
+dotnet_diagnostic.SA1518.severity = none
+# Elements should be documented
+dotnet_diagnostic.SA1600.severity = none
+# Partial elements should be documented
+dotnet_diagnostic.SA1601.severity = none
+# Enumeration items should be documented
+dotnet_diagnostic.SA1602.severity = none
+# The documentation for parameter 'message' is missing
+dotnet_diagnostic.SA1611.severity = none
+# Element parameter documentation should have text
+dotnet_diagnostic.SA1614.severity = none
+# Element return value should be documented
+dotnet_diagnostic.SA1615.severity = none
+# Element return value documentation should have text
+dotnet_diagnostic.SA1616.severity = none
+# The documentation for type parameter is missing
+dotnet_diagnostic.SA1618.severity = none
+# Generic type parameter documentation should have text
+dotnet_diagnostic.SA1622.severity = none
+# Property documentation text
+dotnet_diagnostic.SA1623.severity = none
+# Element documentation should not be copied and pasted
+dotnet_diagnostic.SA1625.severity = none
+# The documentation text within the \'exception\' tag should not be empty
+dotnet_diagnostic.SA1627.severity = none
+# File should have header
+dotnet_diagnostic.SA1633.severity = none
+# Constructor summary documentation should begin with standard text
+dotnet_diagnostic.SA1642.severity = none
+# File name should match first type name
+dotnet_diagnostic.SA1649.severity = none
+
+# Disable some StyleCop rules for test common Program.cs that is linked to test project of template engine
+[test/Common/Program.cs]
+# Declare types in namespaces
+dotnet_diagnostic.CA1050.severity = none
+# Elements should be documented
+dotnet_diagnostic.SA1600.severity = none
+# Partial elements should be documented
+dotnet_diagnostic.SA1601.severity = none
+# File should have header: The file header XML is invalid.
+dotnet_diagnostic.SA1633.severity = none
+
+# Additional rules for test source code for template engine
+[test/{Microsoft.TemplateEngine.*,dotnet-new.IntegrationTests}/**.cs]
+# Test methods should not be skipped
+dotnet_diagnostic.xUnit1004.severity = warning
+# Elements should appear in the correct order
+dotnet_diagnostic.SA1201.severity = none
+# Elements should be ordered by access
+dotnet_diagnostic.SA1202.severity = none
+# Static elements should appear before instance elements
+dotnet_diagnostic.SA1204.severity = none
+
+# Generated build output
+[artifacts/**.cs]
+dotnet_diagnostic.IDE0073.severity = none
# C++ Files
[*.{cpp,h,in}]
@@ -215,8 +489,12 @@ indent_brace_style = Allman
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
indent_size = 2
+# WiX files
+[*.{wixproj,wxs,wxi,wxl,thm}]
+indent_size = 2
+
[*.{csproj,vbproj,proj,nativeproj,locproj}]
-charset = utf-8
+charset = utf-8-bom
# Xml build files
[*.builds]
@@ -237,5 +515,24 @@ indent_size = 2
# Shell scripts
[*.sh]
end_of_line = lf
-[*.{cmd,bat}]
+[*.{cmd, bat}]
end_of_line = crlf
+
+# IDE0040: Add accessibility modifiers
+dotnet_diagnostic.IDE0040.severity = warning
+
+[*.txt]
+insert_final_newline = false
+
+[*.sarif]
+insert_final_newline = false
+
+# Verify settings
+[*.{received,verified}.{txt,xml,json,sh,zsh,nu,fish,ps1}]
+charset = "utf-8-bom"
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml
index 760efc89..90188211 100644
--- a/.github/workflows/action.yml
+++ b/.github/workflows/action.yml
@@ -39,10 +39,10 @@ jobs:
10.0.x
- name: restore
- run: dotnet restore
+ run: dotnet restore NuGetUtility.slnx
- name: build
- run: dotnet build --configuration Release --no-restore
+ run: dotnet build --configuration Release --no-restore NuGetUtility.slnx
- name: test (NuGetUtility.Test.dll)
run: dotnet test --project ./tests/NuGetUtility.Test/NuGetUtility.Test.csproj --configuration Release -f ${{ matrix.framework }} --no-restore --no-build
@@ -65,7 +65,7 @@ jobs:
10.0.x
- name: restore
- run: dotnet restore
+ run: dotnet restore NuGetUtility.slnx
- name: test
run: dotnet test --project ./tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj --configuration Release --no-restore
@@ -84,7 +84,7 @@ jobs:
- uses: browser-actions/setup-chrome@v2.1.1
- name: restore
- run: dotnet restore
+ run: dotnet restore NuGetUtility.slnx
- name: test
run: dotnet test --project ./tests/NuGetUtility.UrlToLicenseMapping.Test/NuGetUtility.UrlToLicenseMapping.Test.csproj --configuration Release --no-restore
@@ -109,14 +109,18 @@ jobs:
uses: microsoft/setup-msbuild@v3
- name: build
- run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=TestWindows
+ run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=TestWindows NuGetUtility.slnx
- name: test
- uses: josepho0918/vstest-action@15c7e288a18f04395431c4940afe15013a12098e
- with:
- testAssembly: "NuGet*.Test.dll"
- searchFolder: "tests/*/bin/TestWindows/${{ matrix.framework }}/"
- runInParallel: true
+ shell: pwsh
+ run: |
+ $failed = $false
+ Get-ChildItem "tests\*\bin\TestWindows\${{ matrix.framework }}\NuGet*.Test.exe" | ForEach-Object {
+ Write-Host "Running: $_"
+ & "$_"
+ if ($LASTEXITCODE -ne 0) { $failed = $true }
+ }
+ if ($failed) { exit 1 }
check_code_format:
runs-on: ubuntu-latest
@@ -132,10 +136,10 @@ jobs:
10.0.x
- name: restore
- run: dotnet restore
+ run: dotnet restore NuGetUtility.slnx
- name: check format
- run: dotnet format --verify-no-changes
+ run: dotnet format --verify-no-changes NuGetUtility.slnx
check_licenses:
runs-on: ubuntu-latest
@@ -158,15 +162,16 @@ jobs:
10.0.x
- name: restore
- run: dotnet restore NuGetUtility.sln -p:TargetFramework=${{ matrix.framework }}
+ run: dotnet restore NuGetUtility.slnx -p:TargetFramework=${{ matrix.framework }}
- name: build
run: dotnet publish ./src/NuGetLicenseCore/NuGetLicenseCore.csproj --configuration Release -o ./release -f ${{ matrix.framework }} --no-restore
- name: check
+ shell: bash
run: |
- dotnet ./release/nuget-license.dll -ji ./.github/workflows/assets/${{ matrix.project }}/projectsToCheck.json -t -a ./.github/workflows/assets/${{ matrix.project }}/allowedLicenses.json -o JsonPretty -override ./.github/workflows/assets/${{ matrix.project }}/overwritePackageInformation.json -ignore ./.github/workflows/assets/${{ matrix.project }}/ignorePackages.json -mapping ./.github/workflows/assets/${{ matrix.project }}/urlToLicenseMapping.json -d ./licenses/${{ matrix.project }}/${{ matrix.framework }} -file-mapping ./.github/workflows/assets/${{ matrix.project }}/fileToLicenseMapping.json > ./licenses-output.json
- cat ./licenses-output.json
+ set -o pipefail
+ dotnet ./release/nuget-license.dll -ji ./.github/workflows/assets/${{ matrix.project }}/projectsToCheck.json -t -a ./.github/workflows/assets/${{ matrix.project }}/allowedLicenses.json -o JsonPretty -override ./.github/workflows/assets/${{ matrix.project }}/overwritePackageInformation.json -ignore ./.github/workflows/assets/${{ matrix.project }}/ignorePackages.json -mapping ./.github/workflows/assets/${{ matrix.project }}/urlToLicenseMapping.json -d ./licenses/${{ matrix.project }}/${{ matrix.framework }} -file-mapping ./.github/workflows/assets/${{ matrix.project }}/fileToLicenseMapping.json 2>&1 | tee ./licenses-output.json
- name: validate downloaded licenses
shell: pwsh
@@ -234,7 +239,7 @@ jobs:
runs-on: windows-2025-vs2026
strategy:
matrix:
- project: [App, Tests, ProjectWithReferenceContainingLicenseExpression, ProjectWithReferenceContainingFileLicense, ProjectWithReferenceContainingWindowsSpecificPath]
+ project: [App, Tests, ProjectWithReferenceContainingLicenseExpression, ProjectWithReferenceContainingFileLicense, ProjectWithReferenceContainingWindowsSpecificPath, Sln, Slnx]
steps:
- uses: actions/checkout@v6
@@ -251,7 +256,7 @@ jobs:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v3
- - run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.sln
+ - run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.slnx
- name: fully qualify release path
id: release_path
@@ -265,10 +270,14 @@ jobs:
run: msbuild ./src/NuGetLicenseFramework/NuGetLicenseFramework.csproj /t:Publish /p:configuration=Release /p:PublishDir=${{ steps.release_path.outputs.path }} /p:TargetFramework=net472
- name: check
+ shell: pwsh
run: |
- ${{ steps.release_path.outputs.path }}/NuGetLicenseFramework.exe -ji ./.github/workflows/assets/${{ matrix.project }}/projectsToCheck.json -t -a ./.github/workflows/assets/${{ matrix.project }}/allowedLicenses.json -o JsonPretty -override ./.github/workflows/assets/${{ matrix.project }}/overwritePackageInformation.json -ignore ./.github/workflows/assets/${{ matrix.project }}/ignorePackages.json -mapping ./.github/workflows/assets/${{ matrix.project }}/urlToLicenseMapping.json -d ./licenses/${{ matrix.project }} -file-mapping ./.github/workflows/assets/${{ matrix.project }}/fileToLicenseMapping.json > ./licenses-output.json
- cat ./licenses-output.json
-
+ & "${{ steps.release_path.outputs.path }}/NuGetLicenseFramework.exe" -ji ./.github/workflows/assets/${{ matrix.project }}/projectsToCheck.json -t -a ./.github/workflows/assets/${{ matrix.project }}/allowedLicenses.json -o JsonPretty -override ./.github/workflows/assets/${{ matrix.project }}/overwritePackageInformation.json -ignore ./.github/workflows/assets/${{ matrix.project }}/ignorePackages.json -mapping ./.github/workflows/assets/${{ matrix.project }}/urlToLicenseMapping.json -d ./licenses/${{ matrix.project }} -file-mapping ./.github/workflows/assets/${{ matrix.project }}/fileToLicenseMapping.json 2>&1 | Tee-Object -FilePath ./licenses-output.json
+ $exitCode = $LASTEXITCODE
+ if ($exitCode -ne 0) {
+ exit $exitCode
+ }
+
- name: validate downloaded licenses
shell: pwsh
run: |
@@ -351,7 +360,7 @@ jobs:
10.0.x
- name: restore
- run: dotnet restore NuGetUtility.sln -p:TargetFramework=${{ matrix.framework }}
+ run: dotnet restore NuGetUtility.slnx -p:TargetFramework=${{ matrix.framework }}
- uses: paulhatch/semantic-version@v6.0.2
id: version
@@ -388,7 +397,7 @@ jobs:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v3
- - run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.sln
+ - run: msbuild -t:restore -p:RestorePackagesConfig=true NuGetUtility.slnx
- name: fully qualify release path
id: release_path
diff --git a/.github/workflows/assets/App/allowedLicenses.json b/.github/workflows/assets/App/allowedLicenses.json
index 38eab79b..d9d62e7a 100644
--- a/.github/workflows/assets/App/allowedLicenses.json
+++ b/.github/workflows/assets/App/allowedLicenses.json
@@ -1,4 +1,4 @@
[
"MIT",
"Apache-2.0"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/App/ignorePackages.json b/.github/workflows/assets/App/ignorePackages.json
index 2664b4f9..fe51488c 100644
--- a/.github/workflows/assets/App/ignorePackages.json
+++ b/.github/workflows/assets/App/ignorePackages.json
@@ -1,3 +1 @@
-[
- "NETStandard.Library"
-]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/App/overwritePackageInformation.json b/.github/workflows/assets/App/overwritePackageInformation.json
index 4d846ed9..bcb14a3e 100644
--- a/.github/workflows/assets/App/overwritePackageInformation.json
+++ b/.github/workflows/assets/App/overwritePackageInformation.json
@@ -7,4 +7,4 @@
"Authors": "Microsoft",
"License": "MIT"
}
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/App/projectsToCheck.json b/.github/workflows/assets/App/projectsToCheck.json
index 7a247b9e..71d7f8e2 100644
--- a/.github/workflows/assets/App/projectsToCheck.json
+++ b/.github/workflows/assets/App/projectsToCheck.json
@@ -1,4 +1,4 @@
[
"./src/NuGetLicenseCore/NuGetLicenseCore.csproj",
"./src/NuGetLicenseFramework/NuGetLicenseFramework.csproj"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/App/urlToLicenseMapping.json b/.github/workflows/assets/App/urlToLicenseMapping.json
index 9e26dfee..0967ef42 100644
--- a/.github/workflows/assets/App/urlToLicenseMapping.json
+++ b/.github/workflows/assets/App/urlToLicenseMapping.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/.github/workflows/assets/Licenses/MSTestingLicense.txt b/.github/workflows/assets/Licenses/MSTestingLicense.txt
new file mode 100644
index 00000000..c4cfaf7d
--- /dev/null
+++ b/.github/workflows/assets/Licenses/MSTestingLicense.txt
@@ -0,0 +1,205 @@
+# MICROSOFT SOFTWARE LICENSE TERMS
+
+# MICROSOFT .NET LIBRARY
+
+These license terms are an agreement between Microsoft Corporation (or based on
+where you live, one of its affiliates) and you. They apply to the software
+named above. The terms also apply to any Microsoft services or updates for the
+software, except to the extent those have different terms.
+
+IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.
+
+1. INSTALLATION AND USE RIGHTS.
+You may install and use any number of copies of the software to design, develop
+and test you're applications. You may modify, copy, distribute or deploy any
+.js files contained in the software as part of your applications.
+
+2. THIRD PARTY COMPONENTS. The software may include third party components with
+separate legal notices or governed by other agreements, as may be described in
+the ThirdPartyNotices file(s) accompanying the software.
+
+3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
+ a. DISTRIBUTABLE CODE. In addition to the .js files described above, the
+ software is comprised of Distributable Code. "Distributable Code" is
+ code that you are permitted to distribute in programs you develop if you
+ comply with the terms below.
+
+ i. Right to Use and Distribute.
+ - You may copy and distribute the object code form of the software.
+ - Third Party Distribution. You may permit distributors of your programs
+ to copy and distribute the Distributable Code as part of those
+ programs.
+
+ ii. Distribution Requirements. For any Distributable Code you distribute,
+ you must
+ - use the Distributable Code in your programs and not as a standalone
+ distribution;
+ - require distributors and external end users to agree to terms that
+ protect it at least as much as this agreement;
+ - display your valid copyright notice on your programs; and
+ - indemnify, defend, and hold harmless Microsoft from any claims,
+ including attorneys' fees, related to the distribution or use of
+ your applications, except to the extent that any claim is based solely
+ on the Distributable Code.
+
+ iii. Distribution Restrictions. You may not
+ - alter any copyright, trademark or patent notice in the Distributable
+ Code;
+ - use Microsoft's trademarks in your programs' names or in a way that
+ suggests your programs come from or are endorsed by Microsoft;
+ - include Distributable Code in malicious, deceptive or unlawful
+ programs; or
+ - modify or distribute the source code of any Distributable Code so
+ that any part of it becomes subject to an Excluded License.
+ An Excluded License is one that requires, as a condition of use,
+ modification or distribution, that
+ - the code be disclosed or distributed in source code form; or
+ - others have the right to modify it.
+
+4. DATA.
+ a. Data Collection. The software may collect information about you and your
+ use of the software, and send that to Microsoft. Microsoft may use this
+ information to provide services and improve our products and services.
+ You may opt-out of many of these scenarios, but not all, as described in
+ the product documentation. There are also some features in the software
+ that may enable you and Microsoft to collect data from users of your
+ applications. If you use these features, you must comply with applicable
+ law, including providing appropriate notices to users of your applications
+ together with a copy of Microsoft's privacy statement. Our privacy
+ statement is located at https://go.microsoft.com/fwlink/?LinkID=824704.
+ You can learn more about data collection and use in the help documentation
+ and our privacy statement. Your use of the software operates as your
+ consent to these practices.
+ b. Processing of Personal Data. To the extent Microsoft is a processor or
+ subprocessor of personal data in connection with the software, Microsoft
+ makes the commitments in the European Union General Data Protection
+ Regulation Terms of the Online Services Terms to all customers effective
+ May 25, 2018, at http://go.microsoft.com/?linkid=9840733.
+
+5. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only
+ gives you some rights to use the software. Microsoft reserves all other
+ rights. Unless applicable law gives you more rights despite this limitation,
+ you may use the software only as expressly permitted in this agreement.
+ In doing so, you must comply with any technical limitations in the software
+ that only allow you to use it in certain ways. You may not
+ - work around any technical limitations in the software;
+ - reverse engineer, decompile or disassemble the software, or otherwise
+ attempt to derive the source code for the software, except and to the
+ extent required by third party licensing terms governing use of certain
+ open source components that may be included in the software;
+ - remove, minimize, block or modify any notices of Microsoft or its suppliers
+ in the software;
+ - use the software in any way that is against the law; or
+ - share, publish, rent or lease the software, provide the software as a
+ stand-alone offering for others to use, or transfer the software or this
+ agreement to any third party.
+
+6. EXPORT RESTRICTIONS. You must comply with all domestic and international
+ export laws and regulations that apply to the software, which include
+ restrictions on destinations, end users, and end use. For further
+ information on export restrictions, visit www.microsoft.com/exporting.
+
+7. SUPPORT SERVICES. Because this software is "as is," we may not provide
+ support services for it.
+
+8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates,
+ Internet-based services and support services that you use, are the entire
+ agreement for the software and support services.
+
+9. APPLICABLE LAW. If you acquired the software in the United States,
+ Washington law applies to interpretation of and claims for breach of this
+ agreement, and the laws of the state where you live apply to all other
+ claims. If you acquired the software in any other country, its laws apply.
+
+10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal
+ rights. You may have other rights, including consumer rights, under
+ the laws of your state or country. Separate and apart from your relationship
+ with Microsoft, you may also have rights with respect to the party from
+ which you acquired the software. This agreement does not change those other
+ rights if the laws of your state or country do not permit it to do so.
+ For example, if you acquired the software in one of the below regions, or
+ mandatory country law applies, then the following provisions apply to you:
+ a) Australia. You have statutory guarantees under the Australian Consumer Law
+ and nothing in this agreement is intended to affect those rights.
+ b) Canada. If you acquired this software in Canada, you may stop receiving
+ updates by turning off the automatic update feature, disconnecting your
+ device from the Internet (if and when you re-connect to the Internet,
+ however, the software will resume checking for and installing updates),
+ or uninstalling the software. The product documentation, if any, may also
+ specify how to turn off updates for your specific device or software.
+ c) Germany and Austria.
+ (i) Warranty. The software will perform substantially as described in any
+ Microsoft materials that accompany it. However, Microsoft gives no
+ contractual guarantee in relation to the software.
+ (ii) Limitation of Liability. In case of intentional conduct, gross
+ negligence, claims based on the Product Liability Act, as well as in
+ case of death or personal or physical injury, Microsoft is liable
+ according to the statutory law.
+
+ Subject to the foregoing clause (ii), Microsoft will only be liable for slight
+ negligence if Microsoft is in breach of such material contractual obligations,
+ the fulfillment of which facilitate the due performance of this agreement, the
+ breach of which would endanger the purpose of this agreement and the
+ compliance with which a party may constantly trust in (so-called
+ "cardinal obligations"). In other cases of slight negligence, Microsoft will
+ not be liable for slight negligence
+
+11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED "AS-IS." YOU BEAR THE RISK
+ OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS.
+ TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT.
+
+12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM
+ MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT
+ RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL,
+ INDIRECT OR INCIDENTAL DAMAGES.
+
+This limitation applies to (a) anything related to the software, services,
+content (including code) on third party Internet sites, or third party
+applications; and (b) claims for breach of contract, breach of warranty,
+guarantee or condition, strict liability, negligence, or other tort to the
+extent permitted by applicable law.
+
+It also applies even if Microsoft knew or should have known about the possibility
+of the damages. The above limitation or exclusion may not apply to you because
+your state or country may not allow the exclusion or limitation of incidental,
+consequential or other damages.
+Please note: As this software is distributed in Quebec, Canada, some of the
+clauses in this agreement are provided below in French.
+
+Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses
+dans ce contrat sont fournies ci-dessous en français.
+
+EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert «tel quel».
+Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft
+n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits
+additionnels en vertu du droit local sur la protection des consommateurs,
+que ce contrat ne peut modifier. La ou elles sont permises par le droit locale,
+les garanties implicites de qualité marchande, d'adéquation à un usage
+particulier et d'absence de contrefaçon sont exclues.
+
+LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES
+DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une
+indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US.
+Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages,
+y compris les dommages spéciaux, indirects ou accessoires et pertes de
+bénéfices.
+
+Cette limitation concerne:
+- tout ce qui est relié au logiciel, aux services ou au contenu (y compris le
+ code) figurant sur des sites Internet tiers ou dans des programmes tiers; et
+- les réclamations au titre de violation de contrat ou de garantie, ou au titre
+ de responsabilité stricte, de négligence ou d'une autre faute dans la limite
+ autorisée par la loi en vigueur.
+
+Elle s'applique également, même si Microsoft connaissait ou devrait connaître
+l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou
+la limitation de responsabilité pour les dommages indirects, accessoires ou
+de quelque nature que ce soit, il se peut que la limitation ou l'exclusion
+ci-dessus ne s'appliquera pas à votre égard.
+
+EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous
+pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent
+contrat ne modifie pas les droits que vous confèrent les lois de votre pays si
+celles-ci ne le permettent pas.
\ No newline at end of file
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/Licenses/Sonar-Source-Available.txt b/.github/workflows/assets/Licenses/SonarSourceAvailable.txt
similarity index 100%
rename from .github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/Licenses/Sonar-Source-Available.txt
rename to .github/workflows/assets/Licenses/SonarSourceAvailable.txt
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/allowedLicenses.json b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/allowedLicenses.json
index c914924b..344b4896 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/allowedLicenses.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/allowedLicenses.json
@@ -1,3 +1,3 @@
[
"MIT"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/ignorePackages.json b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/ignorePackages.json
index 0637a088..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/ignorePackages.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/ignorePackages.json
@@ -1 +1 @@
-[]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/overwritePackageInformation.json b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/overwritePackageInformation.json
index 0637a088..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/overwritePackageInformation.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/overwritePackageInformation.json
@@ -1 +1 @@
-[]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/projectsToCheck.json b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/projectsToCheck.json
index e231a5ef..f4ed0235 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/projectsToCheck.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/projectsToCheck.json
@@ -1,3 +1,3 @@
[
"./integration/ProjectWithReferenceContainingFileLicense/ProjectWithReferenceContainingFileLicense.csproj"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/urlToLicenseMapping.json b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/urlToLicenseMapping.json
index 9e26dfee..0967ef42 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/urlToLicenseMapping.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingFileLicense/urlToLicenseMapping.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/allowedLicenses.json b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/allowedLicenses.json
index 38eab79b..d9d62e7a 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/allowedLicenses.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/allowedLicenses.json
@@ -1,4 +1,4 @@
[
"MIT",
"Apache-2.0"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/ignorePackages.json b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/ignorePackages.json
index 2664b4f9..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/ignorePackages.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/ignorePackages.json
@@ -1,3 +1 @@
-[
- "NETStandard.Library"
-]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/overwritePackageInformation.json b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/overwritePackageInformation.json
index 0637a088..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/overwritePackageInformation.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/overwritePackageInformation.json
@@ -1 +1 @@
-[]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/projectsToCheck.json b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/projectsToCheck.json
index e6ed060f..076d2dba 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/projectsToCheck.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/projectsToCheck.json
@@ -1,3 +1,3 @@
[
"./integration/ProjectWithReferenceContainingLicenseExpression/ProjectWithReferenceContainingLicenseExpression.csproj"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/urlToLicenseMapping.json b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/urlToLicenseMapping.json
index 9e26dfee..0967ef42 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/urlToLicenseMapping.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingLicenseExpression/urlToLicenseMapping.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/allowedLicenses.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/allowedLicenses.json
index 8b9d92a9..bbbc8719 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/allowedLicenses.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/allowedLicenses.json
@@ -1,3 +1,3 @@
[
- "SSA-1.0"
-]
\ No newline at end of file
+ "SonarSourceAvailable-1.0"
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/fileToLicenseMapping.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/fileToLicenseMapping.json
index 6e369e9b..a766ee5d 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/fileToLicenseMapping.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/fileToLicenseMapping.json
@@ -1,3 +1,3 @@
{
- "Licenses/Sonar-Source-Available.txt": "SSA-1.0"
+ "../Licenses/SonarSourceAvailable.txt": "SonarSourceAvailable-1.0"
}
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/ignorePackages.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/ignorePackages.json
index 2664b4f9..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/ignorePackages.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/ignorePackages.json
@@ -1,3 +1 @@
-[
- "NETStandard.Library"
-]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/overwritePackageInformation.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/overwritePackageInformation.json
index 0637a088..fe51488c 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/overwritePackageInformation.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/overwritePackageInformation.json
@@ -1 +1 @@
-[]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/projectsToCheck.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/projectsToCheck.json
index 225c2384..e54a88a2 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/projectsToCheck.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/projectsToCheck.json
@@ -1,3 +1,3 @@
[
"./integration/ProjectWithReferenceContainingWindowsSpecificPath/ProjectWithReferenceContainingWindowsSpecificPath.csproj"
-]
\ No newline at end of file
+]
diff --git a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/urlToLicenseMapping.json b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/urlToLicenseMapping.json
index 9e26dfee..0967ef42 100644
--- a/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/urlToLicenseMapping.json
+++ b/.github/workflows/assets/ProjectWithReferenceContainingWindowsSpecificPath/urlToLicenseMapping.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/.github/workflows/assets/Sln/allowedLicenses.json b/.github/workflows/assets/Sln/allowedLicenses.json
new file mode 100644
index 00000000..adae5e71
--- /dev/null
+++ b/.github/workflows/assets/Sln/allowedLicenses.json
@@ -0,0 +1,8 @@
+[
+ "MIT",
+ "Apache-2.0",
+ "BSD-3-Clause",
+ "BSD-2-Clause",
+ "SonarSourceAvailable-1.0",
+ "MSTestingLicenseTerms"
+]
diff --git a/.github/workflows/assets/Sln/fileToLicenseMapping.json b/.github/workflows/assets/Sln/fileToLicenseMapping.json
new file mode 100644
index 00000000..03087ae0
--- /dev/null
+++ b/.github/workflows/assets/Sln/fileToLicenseMapping.json
@@ -0,0 +1,4 @@
+{
+ "../Licenses/SonarSourceAvailable.txt": "SonarSourceAvailable-1.0",
+ "../Licenses/MSTestingLicense.txt": "MSTestingLicenseTerms"
+}
diff --git a/.github/workflows/assets/Sln/ignorePackages.json b/.github/workflows/assets/Sln/ignorePackages.json
new file mode 100644
index 00000000..fe51488c
--- /dev/null
+++ b/.github/workflows/assets/Sln/ignorePackages.json
@@ -0,0 +1 @@
+[]
diff --git a/.github/workflows/assets/Sln/overwritePackageInformation.json b/.github/workflows/assets/Sln/overwritePackageInformation.json
new file mode 100644
index 00000000..98bd4c69
--- /dev/null
+++ b/.github/workflows/assets/Sln/overwritePackageInformation.json
@@ -0,0 +1,523 @@
+[{
+ "Id": "Fare",
+ "Version": "2.2.1",
+ "ProjectUrl": "https://github.com/moodmosaic/Fare",
+ "Copyright": "Copyright \u00A9 Nikos Baxevanis 2016",
+ "Authors": "Nikos Baxevanis",
+ "License": "MIT",
+ "LicenseUrl": "https://github.com/moodmosaic/Fare/blob/master/LICENSE"
+ },
+ {
+ "Id": "Microsoft.NETCore.Platforms",
+ "Version": "1.1.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "Microsoft.NETCore.Targets",
+ "Version": "1.1.3",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Net.Http",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Security.Cryptography.Apple",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Collections",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Collections.Concurrent",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.Debug",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.DiagnosticSource",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.Tracing",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization.Calendars",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization.Extensions",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO.FileSystem",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO.FileSystem.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Linq",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Net.Http",
+ "Version": "4.3.4",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Net.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Reflection",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Reflection.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Resources.ResourceManager",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime",
+ "Version": "4.3.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Extensions",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Handles",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.InteropServices",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Numerics",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Algorithms",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Cng",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Csp",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Encoding",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.X509Certificates",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.X509Certificates",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Text.Encoding",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Text.RegularExpressions",
+ "Version": "4.3.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Threading",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Threading.Tasks",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.InteropServices.RuntimeInformation",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "NetArchTest.Rules",
+ "Version": "1.3.2",
+ "ProjectUrl": "https://www.ben-morris.com/writing-archunit-style-tests-for-net-and-c-for-self-testing-architectures/",
+ "Copyright": "Copyright (c) 2021 Ben Morris",
+ "Authors": "Ben Morris",
+ "License": "MIT"
+ },
+ {
+ "Id": "Bogus",
+ "Version": "35.6.3",
+ "ProjectUrl": "https://github.com/bchavez/Bogus",
+ "Authors": "Brian Chavez",
+ "License": "MIT AND BSD-3-Clause"
+ },{
+ "Id": "googletest",
+ "Version": "1.8.3",
+ "ProjectUrl": "https://github.com/google/googletest",
+ "Copyright": "Copyright 2016 Google Inc. All rights reserved.",
+ "Authors": "mheule@google.com (Markus Heule)",
+ "Description": "Google\u0027s C\u002B\u002B test framework for Visual Studio 2015 (v140) \u0026 2017 (v141)\n Note: NuGet package version is not corresponding with GoogleTest releases!",
+ "Summary": "Google\u0027s C\u002B\u002B test framework",
+ "License": "BSD-2-Clause",
+ "LicenseUrl": "https://opensource.org/licenses/bsd-license.php"
+ },
+ {
+ "Id": "googletest.redist",
+ "Version": "1.8.3",
+ "ProjectUrl": "https://github.com/google/googletest",
+ "Copyright": "Copyright 2016 Google Inc. All rights reserved.",
+ "Authors": "mheule@google.com (Markus Heule)",
+ "Description": "Redistributable components for package \u0027googletest\u0027. This package should only be installed as a dependency. \n(This is not the package you are looking for).",
+ "Summary": "Redistributable components for for package \u0027googletest\u0027",
+ "License": "BSD-2-Clause",
+ "LicenseUrl": "https://opensource.org/licenses/bsd-license.php"
+ }
+]
\ No newline at end of file
diff --git a/.github/workflows/assets/Sln/projectsToCheck.json b/.github/workflows/assets/Sln/projectsToCheck.json
new file mode 100644
index 00000000..ab579d7e
--- /dev/null
+++ b/.github/workflows/assets/Sln/projectsToCheck.json
@@ -0,0 +1,3 @@
+[
+ "./NuGetUtility.sln"
+]
diff --git a/.github/workflows/assets/Sln/urlToLicenseMapping.json b/.github/workflows/assets/Sln/urlToLicenseMapping.json
new file mode 100644
index 00000000..0967ef42
--- /dev/null
+++ b/.github/workflows/assets/Sln/urlToLicenseMapping.json
@@ -0,0 +1 @@
+{}
diff --git a/.github/workflows/assets/Slnx/allowedLicenses.json b/.github/workflows/assets/Slnx/allowedLicenses.json
new file mode 100644
index 00000000..adae5e71
--- /dev/null
+++ b/.github/workflows/assets/Slnx/allowedLicenses.json
@@ -0,0 +1,8 @@
+[
+ "MIT",
+ "Apache-2.0",
+ "BSD-3-Clause",
+ "BSD-2-Clause",
+ "SonarSourceAvailable-1.0",
+ "MSTestingLicenseTerms"
+]
diff --git a/.github/workflows/assets/Slnx/fileToLicenseMapping.json b/.github/workflows/assets/Slnx/fileToLicenseMapping.json
new file mode 100644
index 00000000..03087ae0
--- /dev/null
+++ b/.github/workflows/assets/Slnx/fileToLicenseMapping.json
@@ -0,0 +1,4 @@
+{
+ "../Licenses/SonarSourceAvailable.txt": "SonarSourceAvailable-1.0",
+ "../Licenses/MSTestingLicense.txt": "MSTestingLicenseTerms"
+}
diff --git a/.github/workflows/assets/Slnx/ignorePackages.json b/.github/workflows/assets/Slnx/ignorePackages.json
new file mode 100644
index 00000000..fe51488c
--- /dev/null
+++ b/.github/workflows/assets/Slnx/ignorePackages.json
@@ -0,0 +1 @@
+[]
diff --git a/.github/workflows/assets/Slnx/overwritePackageInformation.json b/.github/workflows/assets/Slnx/overwritePackageInformation.json
new file mode 100644
index 00000000..98bd4c69
--- /dev/null
+++ b/.github/workflows/assets/Slnx/overwritePackageInformation.json
@@ -0,0 +1,523 @@
+[{
+ "Id": "Fare",
+ "Version": "2.2.1",
+ "ProjectUrl": "https://github.com/moodmosaic/Fare",
+ "Copyright": "Copyright \u00A9 Nikos Baxevanis 2016",
+ "Authors": "Nikos Baxevanis",
+ "License": "MIT",
+ "LicenseUrl": "https://github.com/moodmosaic/Fare/blob/master/LICENSE"
+ },
+ {
+ "Id": "Microsoft.NETCore.Platforms",
+ "Version": "1.1.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "Microsoft.NETCore.Targets",
+ "Version": "1.1.3",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Net.Http",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Security.Cryptography.Apple",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Collections",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Collections.Concurrent",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.Debug",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.DiagnosticSource",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Diagnostics.Tracing",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization.Calendars",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Globalization.Extensions",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO.FileSystem",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.IO.FileSystem.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Linq",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Net.Http",
+ "Version": "4.3.4",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Net.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Reflection",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Reflection.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Resources.ResourceManager",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime",
+ "Version": "4.3.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Extensions",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Handles",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.InteropServices",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.Numerics",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Algorithms",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Cng",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Csp",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Encoding",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.OpenSsl",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.Primitives",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.X509Certificates",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Security.Cryptography.X509Certificates",
+ "Version": "4.3.2",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Text.Encoding",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Text.RegularExpressions",
+ "Version": "4.3.1",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Threading",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Threading.Tasks",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "System.Runtime.InteropServices.RuntimeInformation",
+ "Version": "4.3.0",
+ "ProjectUrl": "https://dot.net/",
+ "Copyright": "\u00A9 Microsoft Corporation. All rights reserved.",
+ "Authors": "Microsoft",
+ "License": "MIT",
+ "LicenseUrl": "http://go.microsoft.com/fwlink/?LinkId=329770"
+ },
+ {
+ "Id": "NetArchTest.Rules",
+ "Version": "1.3.2",
+ "ProjectUrl": "https://www.ben-morris.com/writing-archunit-style-tests-for-net-and-c-for-self-testing-architectures/",
+ "Copyright": "Copyright (c) 2021 Ben Morris",
+ "Authors": "Ben Morris",
+ "License": "MIT"
+ },
+ {
+ "Id": "Bogus",
+ "Version": "35.6.3",
+ "ProjectUrl": "https://github.com/bchavez/Bogus",
+ "Authors": "Brian Chavez",
+ "License": "MIT AND BSD-3-Clause"
+ },{
+ "Id": "googletest",
+ "Version": "1.8.3",
+ "ProjectUrl": "https://github.com/google/googletest",
+ "Copyright": "Copyright 2016 Google Inc. All rights reserved.",
+ "Authors": "mheule@google.com (Markus Heule)",
+ "Description": "Google\u0027s C\u002B\u002B test framework for Visual Studio 2015 (v140) \u0026 2017 (v141)\n Note: NuGet package version is not corresponding with GoogleTest releases!",
+ "Summary": "Google\u0027s C\u002B\u002B test framework",
+ "License": "BSD-2-Clause",
+ "LicenseUrl": "https://opensource.org/licenses/bsd-license.php"
+ },
+ {
+ "Id": "googletest.redist",
+ "Version": "1.8.3",
+ "ProjectUrl": "https://github.com/google/googletest",
+ "Copyright": "Copyright 2016 Google Inc. All rights reserved.",
+ "Authors": "mheule@google.com (Markus Heule)",
+ "Description": "Redistributable components for package \u0027googletest\u0027. This package should only be installed as a dependency. \n(This is not the package you are looking for).",
+ "Summary": "Redistributable components for for package \u0027googletest\u0027",
+ "License": "BSD-2-Clause",
+ "LicenseUrl": "https://opensource.org/licenses/bsd-license.php"
+ }
+]
\ No newline at end of file
diff --git a/.github/workflows/assets/Slnx/projectsToCheck.json b/.github/workflows/assets/Slnx/projectsToCheck.json
new file mode 100644
index 00000000..dda3c0c4
--- /dev/null
+++ b/.github/workflows/assets/Slnx/projectsToCheck.json
@@ -0,0 +1,3 @@
+[
+ "./NuGetUtility.slnx"
+]
diff --git a/.github/workflows/assets/Slnx/urlToLicenseMapping.json b/.github/workflows/assets/Slnx/urlToLicenseMapping.json
new file mode 100644
index 00000000..0967ef42
--- /dev/null
+++ b/.github/workflows/assets/Slnx/urlToLicenseMapping.json
@@ -0,0 +1 @@
+{}
diff --git a/.github/workflows/assets/Tests/allowedLicenses.json b/.github/workflows/assets/Tests/allowedLicenses.json
index e1e79159..89dbcbbb 100644
--- a/.github/workflows/assets/Tests/allowedLicenses.json
+++ b/.github/workflows/assets/Tests/allowedLicenses.json
@@ -1,5 +1,6 @@
[
"MIT",
"Apache-2.0",
- "BSD-3-Clause"
-]
\ No newline at end of file
+ "BSD-3-Clause",
+ "MSTestingLicenseTerms"
+]
diff --git a/.github/workflows/assets/Tests/fileToLicenseMapping.json b/.github/workflows/assets/Tests/fileToLicenseMapping.json
index 0967ef42..39469caf 100644
--- a/.github/workflows/assets/Tests/fileToLicenseMapping.json
+++ b/.github/workflows/assets/Tests/fileToLicenseMapping.json
@@ -1 +1,3 @@
-{}
+{
+ "../Licenses/MSTestingLicense.txt": "MSTestingLicenseTerms"
+}
diff --git a/.github/workflows/assets/Tests/ignorePackages.json b/.github/workflows/assets/Tests/ignorePackages.json
index 2664b4f9..fe51488c 100644
--- a/.github/workflows/assets/Tests/ignorePackages.json
+++ b/.github/workflows/assets/Tests/ignorePackages.json
@@ -1,3 +1 @@
-[
- "NETStandard.Library"
-]
\ No newline at end of file
+[]
diff --git a/.github/workflows/assets/Tests/overwritePackageInformation.json b/.github/workflows/assets/Tests/overwritePackageInformation.json
index 6359b854..f54008ed 100644
--- a/.github/workflows/assets/Tests/overwritePackageInformation.json
+++ b/.github/workflows/assets/Tests/overwritePackageInformation.json
@@ -499,4 +499,4 @@
"Authors": "Brian Chavez",
"License": "MIT AND BSD-3-Clause"
}
-]
+]
\ No newline at end of file
diff --git a/.github/workflows/assets/Tests/projectsToCheck.json b/.github/workflows/assets/Tests/projectsToCheck.json
index 0a1c5342..0330c4ff 100644
--- a/.github/workflows/assets/Tests/projectsToCheck.json
+++ b/.github/workflows/assets/Tests/projectsToCheck.json
@@ -1,3 +1,6 @@
[
- "./tests/NuGetUtility.Test/NuGetUtility.Test.csproj"
-]
\ No newline at end of file
+ "./tests/NuGetUtility.Test/NuGetUtility.Test.csproj",
+ "./tests/NuGetLicense.Test/NuGetLicense.Test.csproj",
+ "./tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj",
+ "./tests/NuGetUtility.UrlToLicenseMapping.Test/NuGetUtility.UrlToLicenseMapping.Test.csproj"
+]
diff --git a/.github/workflows/assets/Tests/urlToLicenseMapping.json b/.github/workflows/assets/Tests/urlToLicenseMapping.json
index 9e26dfee..0967ef42 100644
--- a/.github/workflows/assets/Tests/urlToLicenseMapping.json
+++ b/.github/workflows/assets/Tests/urlToLicenseMapping.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7bab9a15..cbdc6a2c 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -30,13 +30,13 @@ jobs:
- uses: browser-actions/setup-chrome@v2.1.1
- name: build
- run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=Release
+ run: msbuild -t:rebuild -restore -p:RestorePackagesConfig=true -property:Configuration=Release NuGetUtility.slnx
- name: test
uses: josepho0918/vstest-action@15c7e288a18f04395431c4940afe15013a12098e
with:
testAssembly: "NuGet*.Test.dll"
- searchFolder: "tests/*/bin/Release/net9.0/"
+ searchFolder: "tests/*/bin/Release/net10.0/"
runInParallel: true
- name: fully qualify artifacts path
diff --git a/NuGetUtility.sln b/NuGetUtility.sln
index 4cc1d884..20e19aa3 100644
--- a/NuGetUtility.sln
+++ b/NuGetUtility.sln
@@ -1,29 +1,17 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
-VisualStudioVersion = 18.0.11222.15
+VisualStudioVersion = 18.4.11626.88 stable
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUtility", "src\NuGetUtility\NuGetUtility.csproj", "{E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "integration", "integration", "{823D4020-332D-2C13-F261-6F510F11A57E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUtility.Test", "tests\NuGetUtility.Test\NuGetUtility.Test.csproj", "{1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithReferenceContainingFileLicense", "integration\ProjectWithReferenceContainingFileLicense\ProjectWithReferenceContainingFileLicense.csproj", "{9004D472-6B17-255F-9BBE-3315532D92B4}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithReferenceContainingLicenseExpression", "integration\ProjectWithReferenceContainingLicenseExpression\ProjectWithReferenceContainingLicenseExpression.csproj", "{6B439AB8-DF75-4C55-A61C-E9D6A39AA744}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{C00E0699-ACCD-44CD-91A7-243A30504DB9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "targets", "targets", "{FA92392F-D895-4D1E-A5ED-E6DC3C08223E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PackageReferenceProject", "tests\targets\PackageReferenceProject\PackageReferenceProject.csproj", "{80E2DA74-CA6D-45EC-9272-00C93A574997}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectWithoutNugetReferences", "tests\targets\ProjectWithoutNugetReferences\ProjectWithoutNugetReferences.csproj", "{FD8ECE33-D357-4611-A909-D9EE9415FB26}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackagesConfigProject", "tests\targets\PackagesConfigProject\PackagesConfigProject.csproj", "{BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectWithTransitiveReferences", "tests\targets\ProjectWithTransitiveReferences\ProjectWithTransitiveReferences.csproj", "{3DDEC6CB-4FDA-49D1-A358-06BE9200C174}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectWithTransitiveNuget", "tests\targets\ProjectWithTransitiveNuget\ProjectWithTransitiveNuget.csproj", "{3150479E-4370-408D-8A93-7C0CDC281CC3}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithReferenceContainingWindowsSpecificPath", "integration\ProjectWithReferenceContainingWindowsSpecificPath\ProjectWithReferenceContainingWindowsSpecificPath.csproj", "{70DA7262-B953-F20A-B58A-FA9EB7AF849B}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5771A2C3-38B3-41CA-B76B-9C002D3C2873}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{089100B1-113F-4E66-888A-E83F3999EAFD}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.globalconfig = .globalconfig
@@ -31,471 +19,210 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleCppProject", "tests\targets\SimpleCppProject\SimpleCppProject.vcxproj", "{380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetLicenseCore", "src\NuGetLicenseCore\NuGetLicenseCore.csproj", "{FBA6622A-C9E3-4250-AB79-35F02CAD2419}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileLicenseMatcher", "src\FileLicenseMatcher\FileLicenseMatcher.csproj", "{8F1DD9CC-60FE-9363-1191-381423A51517}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetLicenseFramework", "src\NuGetLicenseFramework\NuGetLicenseFramework.csproj", "{DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicense", "src\NuGetLicense\NuGetLicense.csproj", "{FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "integration", "integration", "{FFB2826C-17A3-4C18-8FFE-A34AB51592F7}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicenseCore", "src\NuGetLicenseCore\NuGetLicenseCore.csproj", "{AB5996CA-7552-666C-E440-B6261EED9A89}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectWithReferenceContainingLicenseExpression", "integration\ProjectWithReferenceContainingLicenseExpression\ProjectWithReferenceContainingLicenseExpression.csproj", "{01704839-219A-4CE2-93F4-DB3CB8773DCE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicenseFramework", "src\NuGetLicenseFramework\NuGetLicenseFramework.csproj", "{909D242D-BF2E-BAF6-C034-DDB704A65D46}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmptyCppProject", "tests\targets\EmptyCppProject\EmptyCppProject.vcxproj", "{9B107A91-87F9-420C-ADF8-732C77DAFB93}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility", "src\NuGetUtility\NuGetUtility.csproj", "{A277004A-4E9D-4E7A-8270-5DF72B44A426}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VersionRangesProject", "tests\targets\VersionRangesProject\VersionRangesProject.csproj", "{6C96D10E-6CB6-4387-922F-C7C97C037495}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiTargetProjectWithDifferentDependencies", "tests\targets\MultiTargetProjectWithDifferentDependencies\MultiTargetProjectWithDifferentDependencies.csproj", "{A19BF89A-8B1F-4612-A923-08F52B53DC84}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileLicenseMatcher.Test", "tests\FileLicenseMatcher.Test\FileLicenseMatcher.Test.csproj", "{A0E0D347-8BEE-0177-815B-4045469F442C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility.UrlToLicenseMapping.Test", "tests\NuGetUtility.UrlToLicenseMapping.Test\NuGetUtility.UrlToLicenseMapping.Test.csproj", "{A77F9673-8296-4680-A713-8AC26B7DE41C}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicense.Test", "tests\NuGetLicense.Test\NuGetLicense.Test.csproj", "{8A851E79-B8B9-BBA9-EA1D-6B231163093B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicense", "src\NuGetLicense\NuGetLicense.csproj", "{AC47BC03-4D94-4E35-880A-83B7F00CCD39}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility.Test.Extensions", "tests\NuGetUtility.Test.Extensions\NuGetUtility.Test.Extensions.csproj", "{9980365E-926C-51CE-070A-FF18B33CD9F7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetLicense.Test", "tests\NuGetLicense.Test\NuGetLicense.Test.csproj", "{D002257A-FEC7-4E79-AE66-4FD13392F592}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility.Test", "tests\NuGetUtility.Test\NuGetUtility.Test.csproj", "{A76426B6-73B7-1983-06CF-E05E79341A1D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility.Test.Extensions", "tests\NuGetUtility.Test.Extensions\NuGetUtility.Test.Extensions.csproj", "{B713053E-699F-4565-A90F-0A6A7BD84385}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGetUtility.UrlToLicenseMapping.Test", "tests\NuGetUtility.UrlToLicenseMapping.Test\NuGetUtility.UrlToLicenseMapping.Test.csproj", "{B6E9C64B-6AE3-A70C-5910-817FCEC7F962}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithReferenceContainingFileLicense", "integration\ProjectWithReferenceContainingFileLicense\ProjectWithReferenceContainingFileLicense.csproj", "{291E000A-2484-44FE-A175-D1F586071FCC}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "targets", "targets", "{B4C66CBD-571F-0685-D8EF-97E576F878C9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithReferenceContainingWindowsSpecificPath", "integration\ProjectWithReferenceContainingWindowsSpecificPath\ProjectWithReferenceContainingWindowsSpecificPath.csproj", "{70DA7262-B953-F20A-B58A-FA9EB7AF849B}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmptyCppProject", "tests\targets\EmptyCppProject\EmptyCppProject.vcxproj", "{9B107A91-87F9-420C-ADF8-732C77DAFB93}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileLicenseMatcher", "src\FileLicenseMatcher\FileLicenseMatcher.csproj", "{8F1DD9CC-60FE-9363-1191-381423A51517}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiTargetProjectWithDifferentDependencies", "tests\targets\MultiTargetProjectWithDifferentDependencies\MultiTargetProjectWithDifferentDependencies.csproj", "{104B0802-1CCC-BF84-9CE0-3C91D99555A7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileLicenseMatcher.Test", "tests\FileLicenseMatcher.Test\FileLicenseMatcher.Test.csproj", "{A0E0D347-8BEE-0177-815B-4045469F442C}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageReferenceProject", "tests\targets\PackageReferenceProject\PackageReferenceProject.csproj", "{F6A594E4-7929-2823-C907-C31439197DB4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackagesConfigProject", "tests\targets\PackagesConfigProject\PackagesConfigProject.csproj", "{BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithoutNugetReferences", "tests\targets\ProjectWithoutNugetReferences\ProjectWithoutNugetReferences.csproj", "{665F6812-BD66-D32D-2F22-B1EC6C5D1F75}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithTransitiveNuget", "tests\targets\ProjectWithTransitiveNuget\ProjectWithTransitiveNuget.csproj", "{2FABC52B-5F4E-F5B9-3E23-442FD0712103}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithTransitiveReferences", "tests\targets\ProjectWithTransitiveReferences\ProjectWithTransitiveReferences.csproj", "{21A22820-62B5-C46F-D3F6-3C63D0304C8B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleCppProject", "tests\targets\SimpleCppProject\SimpleCppProject.vcxproj", "{380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersionRangesProject", "tests\targets\VersionRangesProject\VersionRangesProject.csproj", "{FCE3A417-4316-7F84-E4CD-52B61EF13BA0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
TestWindows|Any CPU = TestWindows|Any CPU
- TestWindows|x64 = TestWindows|x64
- TestWindows|x86 = TestWindows|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|x64.Build.0 = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Debug|x86.Build.0 = Debug|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|x64.ActiveCfg = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|x64.Build.0 = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|x86.ActiveCfg = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.Release|x86.Build.0 = Release|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|x64.Build.0 = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Debug|x86.Build.0 = Debug|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|Any CPU.Build.0 = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|x64.ActiveCfg = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|x64.Build.0 = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|x86.ActiveCfg = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.Release|x86.Build.0 = Release|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|x64.ActiveCfg = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|x64.Build.0 = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|x86.ActiveCfg = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Debug|x86.Build.0 = Debug|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|Any CPU.Build.0 = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|x64.ActiveCfg = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|x64.Build.0 = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|x86.ActiveCfg = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.Release|x86.Build.0 = Release|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {80E2DA74-CA6D-45EC-9272-00C93A574997}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|x64.ActiveCfg = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|x64.Build.0 = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Debug|x86.Build.0 = Debug|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|Any CPU.Build.0 = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|x64.ActiveCfg = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|x64.Build.0 = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|x86.ActiveCfg = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.Release|x86.Build.0 = Release|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {FD8ECE33-D357-4611-A909-D9EE9415FB26}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|x64.Build.0 = Debug|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|x86.ActiveCfg = Debug|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|x86.Build.0 = Debug|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|x64.ActiveCfg = Release|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|x64.Build.0 = Release|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|x86.ActiveCfg = Release|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|x86.Build.0 = Release|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|x64.ActiveCfg = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|x64.Build.0 = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|x86.ActiveCfg = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Debug|x86.Build.0 = Debug|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|Any CPU.Build.0 = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|x64.ActiveCfg = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|x64.Build.0 = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|x86.ActiveCfg = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.Release|x86.Build.0 = Release|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|x64.ActiveCfg = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|x64.Build.0 = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|x86.ActiveCfg = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Debug|x86.Build.0 = Debug|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|Any CPU.Build.0 = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|x64.ActiveCfg = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|x64.Build.0 = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|x86.ActiveCfg = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.Release|x86.Build.0 = Release|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {3150479E-4370-408D-8A93-7C0CDC281CC3}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|Any CPU.ActiveCfg = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|x64.ActiveCfg = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|x64.Build.0 = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|x86.ActiveCfg = Debug|Win32
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|x86.Build.0 = Debug|Win32
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|Any CPU.ActiveCfg = Release|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|x64.ActiveCfg = Release|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|x64.Build.0 = Release|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|x86.ActiveCfg = Release|Win32
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|x86.Build.0 = Release|Win32
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|Any CPU.ActiveCfg = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|Any CPU.Build.0 = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|x64.ActiveCfg = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|x64.Build.0 = Debug|x64
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|x86.ActiveCfg = Debug|Win32
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|x86.Build.0 = Debug|Win32
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|x64.ActiveCfg = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|x64.Build.0 = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Debug|x86.Build.0 = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|Any CPU.Build.0 = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|x64.ActiveCfg = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|x64.Build.0 = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|x86.ActiveCfg = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.Release|x86.Build.0 = Release|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|x64.Build.0 = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419}.TestWindows|x86.Build.0 = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|x64.Build.0 = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Debug|x86.Build.0 = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|Any CPU.Build.0 = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|x64.ActiveCfg = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|x64.Build.0 = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|x86.ActiveCfg = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.Release|x86.Build.0 = Release|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|x64.Build.0 = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F}.TestWindows|x86.Build.0 = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|x64.ActiveCfg = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|x64.Build.0 = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|x86.ActiveCfg = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Debug|x86.Build.0 = Debug|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|Any CPU.Build.0 = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|x64.ActiveCfg = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|x64.Build.0 = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|x86.ActiveCfg = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.Release|x86.Build.0 = Release|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {01704839-219A-4CE2-93F4-DB3CB8773DCE}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|Any CPU.ActiveCfg = Debug|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|x64.ActiveCfg = Debug|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|x64.Build.0 = Debug|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|x86.ActiveCfg = Debug|Win32
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|x86.Build.0 = Debug|Win32
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|Any CPU.ActiveCfg = Release|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|x64.ActiveCfg = Release|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|x64.Build.0 = Release|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|x86.ActiveCfg = Release|Win32
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|x86.Build.0 = Release|Win32
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|Any CPU.ActiveCfg = Release|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|Any CPU.Build.0 = Release|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|x64.ActiveCfg = Debug|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|x64.Build.0 = Debug|x64
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|x86.ActiveCfg = Debug|Win32
- {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|x86.Build.0 = Debug|Win32
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|x64.Build.0 = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Debug|x86.Build.0 = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|Any CPU.Build.0 = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|x64.ActiveCfg = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|x64.Build.0 = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|x86.ActiveCfg = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.Release|x86.Build.0 = Release|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|Any CPU.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|Any CPU.Build.0 = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|x64.Build.0 = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {6C96D10E-6CB6-4387-922F-C7C97C037495}.TestWindows|x86.Build.0 = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|x64.Build.0 = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Debug|x86.Build.0 = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|Any CPU.Build.0 = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|x64.ActiveCfg = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|x64.Build.0 = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|x86.ActiveCfg = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.Release|x86.Build.0 = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|Any CPU.Build.0 = Release|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|x64.Build.0 = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {A19BF89A-8B1F-4612-A923-08F52B53DC84}.TestWindows|x86.Build.0 = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|x64.Build.0 = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Debug|x86.Build.0 = Debug|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|Any CPU.Build.0 = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|x64.ActiveCfg = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|x64.Build.0 = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|x86.ActiveCfg = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.Release|x86.Build.0 = Release|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {A77F9673-8296-4680-A713-8AC26B7DE41C}.TestWindows|x86.Build.0 = TestWindows|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|x64.ActiveCfg = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|x64.Build.0 = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|x86.ActiveCfg = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Debug|x86.Build.0 = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|Any CPU.Build.0 = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|x64.ActiveCfg = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|x64.Build.0 = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|x86.ActiveCfg = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.Release|x86.Build.0 = Release|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|x64.Build.0 = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39}.TestWindows|x86.Build.0 = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|x64.Build.0 = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Debug|x86.Build.0 = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|Any CPU.Build.0 = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|x64.ActiveCfg = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|x64.Build.0 = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|x86.ActiveCfg = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.Release|x86.Build.0 = Release|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|x64.Build.0 = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {D002257A-FEC7-4E79-AE66-4FD13392F592}.TestWindows|x86.Build.0 = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|x64.Build.0 = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Debug|x86.Build.0 = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|Any CPU.Build.0 = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|x64.ActiveCfg = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|x64.Build.0 = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|x86.ActiveCfg = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.Release|x86.Build.0 = Release|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|x64.Build.0 = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {B713053E-699F-4565-A90F-0A6A7BD84385}.TestWindows|x86.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|x64.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|x64.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|x86.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Debug|x86.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|Any CPU.Build.0 = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|x64.ActiveCfg = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|x64.Build.0 = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|x86.ActiveCfg = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.Release|x86.Build.0 = Release|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|Any CPU.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|Any CPU.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|x64.Build.0 = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {291E000A-2484-44FE-A175-D1F586071FCC}.TestWindows|x86.Build.0 = Debug|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {9004D472-6B17-255F-9BBE-3315532D92B4}.TestWindows|Any CPU.Build.0 = Release|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
{70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|x64.ActiveCfg = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|x64.Build.0 = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|x86.ActiveCfg = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Debug|x86.Build.0 = Debug|Any CPU
{70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|Any CPU.Build.0 = Release|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|x64.ActiveCfg = Release|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|x64.Build.0 = Release|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|x86.ActiveCfg = Release|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.Release|x86.Build.0 = Release|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|Any CPU.ActiveCfg = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|Any CPU.Build.0 = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|x64.ActiveCfg = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|x64.Build.0 = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|x86.ActiveCfg = Debug|Any CPU
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|x86.Build.0 = Debug|Any CPU
+ {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {70DA7262-B953-F20A-B58A-FA9EB7AF849B}.TestWindows|Any CPU.Build.0 = Release|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|x64.ActiveCfg = Debug|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|x64.Build.0 = Debug|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|x86.ActiveCfg = Debug|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Debug|x86.Build.0 = Debug|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.Release|Any CPU.Build.0 = Release|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Release|x64.ActiveCfg = Release|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Release|x64.Build.0 = Release|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Release|x86.ActiveCfg = Release|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.Release|x86.Build.0 = Release|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
{8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {8F1DD9CC-60FE-9363-1191-381423A51517}.TestWindows|x86.Build.0 = TestWindows|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A}.TestWindows|Any CPU.Build.0 = Release|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {AB5996CA-7552-666C-E440-B6261EED9A89}.TestWindows|Any CPU.Build.0 = Release|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.Release|Any CPU.Build.0 = Release|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46}.TestWindows|Any CPU.Build.0 = Release|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|x64.Build.0 = Debug|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Debug|x86.Build.0 = Debug|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.Release|Any CPU.Build.0 = Release|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Release|x64.ActiveCfg = Release|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Release|x64.Build.0 = Release|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Release|x86.ActiveCfg = Release|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.Release|x86.Build.0 = Release|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
{A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|x64.ActiveCfg = TestWindows|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|x64.Build.0 = TestWindows|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|x86.ActiveCfg = TestWindows|Any CPU
- {A0E0D347-8BEE-0177-815B-4045469F442C}.TestWindows|x86.Build.0 = TestWindows|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {9980365E-926C-51CE-070A-FF18B33CD9F7}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {A76426B6-73B7-1983-06CF-E05E79341A1D}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {9B107A91-87F9-420C-ADF8-732C77DAFB93}.Release|Any CPU.ActiveCfg = Release|x64
+ {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|Any CPU.ActiveCfg = Release|x64
+ {9B107A91-87F9-420C-ADF8-732C77DAFB93}.TestWindows|Any CPU.Build.0 = Release|x64
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.TestWindows|Any CPU.ActiveCfg = Release|Any CPU
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7}.TestWindows|Any CPU.Build.0 = Release|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {F6A594E4-7929-2823-C907-C31439197DB4}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.Release|Any CPU.Build.0 = Release|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.TestWindows|Any CPU.ActiveCfg = TestWindows|Any CPU
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B}.TestWindows|Any CPU.Build.0 = TestWindows|Any CPU
+ {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.Release|Any CPU.ActiveCfg = Release|x64
+ {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|Any CPU.ActiveCfg = Release|x64
+ {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15}.TestWindows|Any CPU.Build.0 = Release|x64
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.TestWindows|Any CPU.ActiveCfg = Debug|Any CPU
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0}.TestWindows|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {E9F108AD-CE14-4BDD-B674-A1CDDE8B27EC} = {D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}
- {1EBC8E4A-7677-4AF9-9C37-0CF81A9A689E} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- {FA92392F-D895-4D1E-A5ED-E6DC3C08223E} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- {80E2DA74-CA6D-45EC-9272-00C93A574997} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {FD8ECE33-D357-4611-A909-D9EE9415FB26} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {3DDEC6CB-4FDA-49D1-A358-06BE9200C174} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {3150479E-4370-408D-8A93-7C0CDC281CC3} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {FBA6622A-C9E3-4250-AB79-35F02CAD2419} = {D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}
- {DE079B9C-B6BA-4D53-8B83-03D3CBD4027F} = {D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}
- {01704839-219A-4CE2-93F4-DB3CB8773DCE} = {FFB2826C-17A3-4C18-8FFE-A34AB51592F7}
- {9B107A91-87F9-420C-ADF8-732C77DAFB93} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {6C96D10E-6CB6-4387-922F-C7C97C037495} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {A19BF89A-8B1F-4612-A923-08F52B53DC84} = {FA92392F-D895-4D1E-A5ED-E6DC3C08223E}
- {A77F9673-8296-4680-A713-8AC26B7DE41C} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- {AC47BC03-4D94-4E35-880A-83B7F00CCD39} = {D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}
- {D002257A-FEC7-4E79-AE66-4FD13392F592} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- {B713053E-699F-4565-A90F-0A6A7BD84385} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- {291E000A-2484-44FE-A175-D1F586071FCC} = {FFB2826C-17A3-4C18-8FFE-A34AB51592F7}
- {70DA7262-B953-F20A-B58A-FA9EB7AF849B} = {FFB2826C-17A3-4C18-8FFE-A34AB51592F7}
- {8F1DD9CC-60FE-9363-1191-381423A51517} = {D2AB2D00-1F48-487D-BFE0-99FDB4E071CC}
- {A0E0D347-8BEE-0177-815B-4045469F442C} = {C00E0699-ACCD-44CD-91A7-243A30504DB9}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {70887D40-0182-4C32-BFA1-B5A02E405F11}
+ {9004D472-6B17-255F-9BBE-3315532D92B4} = {823D4020-332D-2C13-F261-6F510F11A57E}
+ {6B439AB8-DF75-4C55-A61C-E9D6A39AA744} = {823D4020-332D-2C13-F261-6F510F11A57E}
+ {70DA7262-B953-F20A-B58A-FA9EB7AF849B} = {823D4020-332D-2C13-F261-6F510F11A57E}
+ {8F1DD9CC-60FE-9363-1191-381423A51517} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {FF734A3F-B1D2-D1FD-6B2E-88E23893CC8A} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {AB5996CA-7552-666C-E440-B6261EED9A89} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {909D242D-BF2E-BAF6-C034-DDB704A65D46} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {A277004A-4E9D-4E7A-8270-5DF72B44A426} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {A0E0D347-8BEE-0177-815B-4045469F442C} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {8A851E79-B8B9-BBA9-EA1D-6B231163093B} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {9980365E-926C-51CE-070A-FF18B33CD9F7} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {A76426B6-73B7-1983-06CF-E05E79341A1D} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {B6E9C64B-6AE3-A70C-5910-817FCEC7F962} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {B4C66CBD-571F-0685-D8EF-97E576F878C9} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
+ {9B107A91-87F9-420C-ADF8-732C77DAFB93} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {104B0802-1CCC-BF84-9CE0-3C91D99555A7} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {F6A594E4-7929-2823-C907-C31439197DB4} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {BBB24A05-8A1F-4840-8C70-BEFE3F0B8F5D} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {665F6812-BD66-D32D-2F22-B1EC6C5D1F75} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {2FABC52B-5F4E-F5B9-3E23-442FD0712103} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {21A22820-62B5-C46F-D3F6-3C63D0304C8B} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {380FBD90-2CF0-4F83-A58E-EB98CE2EAE15} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
+ {FCE3A417-4316-7F84-E4CD-52B61EF13BA0} = {B4C66CBD-571F-0685-D8EF-97E576F878C9}
EndGlobalSection
EndGlobal
diff --git a/NuGetUtility.slnx b/NuGetUtility.slnx
new file mode 100644
index 00000000..f7666617
--- /dev/null
+++ b/NuGetUtility.slnx
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/FileLicenseMatcher/Combine/LicenseMatcher.cs b/src/FileLicenseMatcher/Combine/LicenseMatcher.cs
index 9967f3db..d4496393 100644
--- a/src/FileLicenseMatcher/Combine/LicenseMatcher.cs
+++ b/src/FileLicenseMatcher/Combine/LicenseMatcher.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/Compare/LicenseMatcher.cs b/src/FileLicenseMatcher/Compare/LicenseMatcher.cs
index 03e45808..9428de5d 100644
--- a/src/FileLicenseMatcher/Compare/LicenseMatcher.cs
+++ b/src/FileLicenseMatcher/Compare/LicenseMatcher.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System;
diff --git a/src/FileLicenseMatcher/IFileLicenseMatcher.cs b/src/FileLicenseMatcher/IFileLicenseMatcher.cs
index 105f7799..5d09fe17 100644
--- a/src/FileLicenseMatcher/IFileLicenseMatcher.cs
+++ b/src/FileLicenseMatcher/IFileLicenseMatcher.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace FileLicenseMatcher
diff --git a/src/FileLicenseMatcher/SPDX/FastLicenseMatcher.cs b/src/FileLicenseMatcher/SPDX/FastLicenseMatcher.cs
index 6c657fb2..dcd91099 100644
--- a/src/FileLicenseMatcher/SPDX/FastLicenseMatcher.cs
+++ b/src/FileLicenseMatcher/SPDX/FastLicenseMatcher.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/ILicenseTemplateOutputHandler.cs b/src/FileLicenseMatcher/SPDX/JavaCore/ILicenseTemplateOutputHandler.cs
index 5275c80a..d891fb6b 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/ILicenseTemplateOutputHandler.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/ILicenseTemplateOutputHandler.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
/**
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/InvalidSPDXAnalysisException.cs b/src/FileLicenseMatcher/SPDX/JavaCore/InvalidSPDXAnalysisException.cs
index 919feb13..a044da0e 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/InvalidSPDXAnalysisException.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/InvalidSPDXAnalysisException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseParserException.cs b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseParserException.cs
index b942131e..b7bbec1d 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseParserException.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseParserException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRule.cs b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRule.cs
index ca1dcefc..d7c3a0e3 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRule.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRule.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Linq;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRuleException.cs b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRuleException.cs
index 68198540..2b2a603e 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRuleException.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTemplateRuleException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTextHelper.cs b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTextHelper.cs
index e5dd5407..cdd9a316 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTextHelper.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/LicenseTextHelper.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/LineColumn.cs b/src/FileLicenseMatcher/SPDX/JavaCore/LineColumn.cs
index 3e33ada2..01c4a35d 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/LineColumn.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/LineColumn.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
/**
diff --git a/src/FileLicenseMatcher/SPDX/JavaCore/SpdxLicenseTemplateHelper.cs b/src/FileLicenseMatcher/SPDX/JavaCore/SpdxLicenseTemplateHelper.cs
index fb98e274..26256845 100644
--- a/src/FileLicenseMatcher/SPDX/JavaCore/SpdxLicenseTemplateHelper.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaCore/SpdxLicenseTemplateHelper.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaLibrary/CompareTemplateOutputHandler.cs b/src/FileLicenseMatcher/SPDX/JavaLibrary/CompareTemplateOutputHandler.cs
index bad33b40..3363ae4b 100644
--- a/src/FileLicenseMatcher/SPDX/JavaLibrary/CompareTemplateOutputHandler.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaLibrary/CompareTemplateOutputHandler.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaLibrary/DifferenceDescription.cs b/src/FileLicenseMatcher/SPDX/JavaLibrary/DifferenceDescription.cs
index e4a7cbb0..cc799370 100644
--- a/src/FileLicenseMatcher/SPDX/JavaLibrary/DifferenceDescription.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaLibrary/DifferenceDescription.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaLibrary/LicenseCompareHelper.cs b/src/FileLicenseMatcher/SPDX/JavaLibrary/LicenseCompareHelper.cs
index 9b66f961..71d7bfdb 100644
--- a/src/FileLicenseMatcher/SPDX/JavaLibrary/LicenseCompareHelper.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaLibrary/LicenseCompareHelper.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaLibrary/ParseInstruction.cs b/src/FileLicenseMatcher/SPDX/JavaLibrary/ParseInstruction.cs
index 84d434d5..4dcf9ea1 100644
--- a/src/FileLicenseMatcher/SPDX/JavaLibrary/ParseInstruction.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaLibrary/ParseInstruction.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Generic;
diff --git a/src/FileLicenseMatcher/SPDX/JavaLibrary/SpdxCompareException.cs b/src/FileLicenseMatcher/SPDX/JavaLibrary/SpdxCompareException.cs
index 52e7b110..cb2e26d2 100644
--- a/src/FileLicenseMatcher/SPDX/JavaLibrary/SpdxCompareException.cs
+++ b/src/FileLicenseMatcher/SPDX/JavaLibrary/SpdxCompareException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System;
diff --git a/src/NuGetLicense/CommandLineOptionsParser.cs b/src/NuGetLicense/CommandLineOptionsParser.cs
index a62d29b7..5c591080 100644
--- a/src/NuGetLicense/CommandLineOptionsParser.cs
+++ b/src/NuGetLicense/CommandLineOptionsParser.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
diff --git a/src/NuGetLicense/ICommandLineOptions.cs b/src/NuGetLicense/ICommandLineOptions.cs
index a7fa5d37..c165a8ef 100644
--- a/src/NuGetLicense/ICommandLineOptions.cs
+++ b/src/NuGetLicense/ICommandLineOptions.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility;
diff --git a/src/NuGetLicense/ICommandLineOptionsParser.cs b/src/NuGetLicense/ICommandLineOptionsParser.cs
index 64301d84..ca8ebd7d 100644
--- a/src/NuGetLicense/ICommandLineOptionsParser.cs
+++ b/src/NuGetLicense/ICommandLineOptionsParser.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
diff --git a/src/NuGetLicense/ILicenseValidationOrchestrator.cs b/src/NuGetLicense/ILicenseValidationOrchestrator.cs
index e37e0b8b..adac14e1 100644
--- a/src/NuGetLicense/ILicenseValidationOrchestrator.cs
+++ b/src/NuGetLicense/ILicenseValidationOrchestrator.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetLicense
diff --git a/src/NuGetLicense/LicenseValidationOrchestrator.cs b/src/NuGetLicense/LicenseValidationOrchestrator.cs
index 171f3423..fd781750 100644
--- a/src/NuGetLicense/LicenseValidationOrchestrator.cs
+++ b/src/NuGetLicense/LicenseValidationOrchestrator.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
diff --git a/src/NuGetLicense/LicenseValidator/LicenseDownloadException.cs b/src/NuGetLicense/LicenseValidator/LicenseDownloadException.cs
index 27387874..1602474c 100644
--- a/src/NuGetLicense/LicenseValidator/LicenseDownloadException.cs
+++ b/src/NuGetLicense/LicenseValidator/LicenseDownloadException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
diff --git a/src/NuGetLicense/LicenseValidator/LicenseExpressions.cs b/src/NuGetLicense/LicenseValidator/LicenseExpressions.cs
index d420d2aa..b145aae8 100644
--- a/src/NuGetLicense/LicenseValidator/LicenseExpressions.cs
+++ b/src/NuGetLicense/LicenseValidator/LicenseExpressions.cs
@@ -1,5 +1,6 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
+
namespace NuGetLicense.LicenseValidator
{
public static class LicenseExpressions
diff --git a/src/NuGetLicense/LicenseValidator/LicenseInformationOrigin.cs b/src/NuGetLicense/LicenseValidator/LicenseInformationOrigin.cs
index a1ab11d1..fac0c5be 100644
--- a/src/NuGetLicense/LicenseValidator/LicenseInformationOrigin.cs
+++ b/src/NuGetLicense/LicenseValidator/LicenseInformationOrigin.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetLicense.LicenseValidator
diff --git a/src/NuGetLicense/LicenseValidator/LicenseValidationResult.cs b/src/NuGetLicense/LicenseValidator/LicenseValidationResult.cs
index 133b0d84..2b2b19c0 100644
--- a/src/NuGetLicense/LicenseValidator/LicenseValidationResult.cs
+++ b/src/NuGetLicense/LicenseValidator/LicenseValidationResult.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
diff --git a/src/NuGetLicense/LicenseValidator/LicenseValidator.cs b/src/NuGetLicense/LicenseValidator/LicenseValidator.cs
index 9bd2d0ac..39729d05 100644
--- a/src/NuGetLicense/LicenseValidator/LicenseValidator.cs
+++ b/src/NuGetLicense/LicenseValidator/LicenseValidator.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Concurrent;
@@ -16,6 +16,7 @@ namespace NuGetLicense.LicenseValidator
{
public class LicenseValidator
{
+ private static readonly SemaphoreSlim s_spdxParserSemaphore = new SemaphoreSlim(1, 1);
private readonly IEnumerable _allowedLicenses;
private readonly IFileDownloader _fileDownloader;
private readonly IFileLicenseMatcher _fileLicenseMatcher;
@@ -141,7 +142,7 @@ private async Task ValidateLicenseByMetadataAsync(IPackageMetadata info,
case LicenseType.Overwrite:
{
string licenseId = info.LicenseMetadata!.License;
- SpdxExpression? licenseExpression = SpdxExpressionParser.Parse(licenseId, _ => true, _ => true);
+ SpdxExpression? licenseExpression = await ParseSpdxExpressionAsync(licenseId, token);
if (IsValidLicenseExpression(licenseExpression))
{
await DownloadLicenseAsync(GetLicenseUrl(licenseId), info.Identity, context, token);
@@ -174,7 +175,7 @@ private async Task ValidateLicenseByMetadataAsync(IPackageMetadata info,
break;
}
- SpdxExpression? licenseExpression = SpdxExpressionParser.Parse(matchedLicense, _ => true, _ => true);
+ SpdxExpression? licenseExpression = await ParseSpdxExpressionAsync(matchedLicense, token);
if (IsValidLicenseExpression(licenseExpression))
{
await StoreLicenseAsync(info.LicenseMetadata.License, info.Identity, token);
@@ -226,7 +227,7 @@ private async Task ValidateLicenseByUrl(IPackageMetadata info,
if (_licenseMapping.TryGetValue(info.LicenseUrl, out string? licenseId))
{
- SpdxExpression? licenseExpression = SpdxExpressionParser.Parse(licenseId, _ => true, _ => true);
+ SpdxExpression? licenseExpression = await ParseSpdxExpressionAsync(licenseId, token);
if (IsValidLicenseExpression(licenseExpression))
{
@@ -326,6 +327,19 @@ private static Uri GetLicenseUrl(string spdxIdentifier)
_ => throw new ArgumentOutOfRangeException(nameof(type), type, $"This conversion method only supports the {nameof(LicenseType.Overwrite)} and {nameof(LicenseType.Expression)} types for conversion")
};
+ private static async Task ParseSpdxExpressionAsync(string expression, CancellationToken token)
+ {
+ await s_spdxParserSemaphore.WaitAsync(token);
+ try
+ {
+ return SpdxExpressionParser.Parse(expression, _ => true, _ => true);
+ }
+ finally
+ {
+ s_spdxParserSemaphore.Release();
+ }
+ }
+
private sealed record LicenseNameAndVersion(string LicenseName, INuGetVersion Version);
}
}
diff --git a/src/NuGetLicense/LicenseValidator/UrlToLicenseMapping.cs b/src/NuGetLicense/LicenseValidator/UrlToLicenseMapping.cs
index 3642c3fc..625766cc 100644
--- a/src/NuGetLicense/LicenseValidator/UrlToLicenseMapping.cs
+++ b/src/NuGetLicense/LicenseValidator/UrlToLicenseMapping.cs
@@ -1,5 +1,6 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
+
using System.Collections.Immutable;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/NuGetLicense/LicenseValidator/ValidationError.cs b/src/NuGetLicense/LicenseValidator/ValidationError.cs
index 42b54091..b1718bb3 100644
--- a/src/NuGetLicense/LicenseValidator/ValidationError.cs
+++ b/src/NuGetLicense/LicenseValidator/ValidationError.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetLicense.LicenseValidator
diff --git a/src/NuGetLicense/Output/Csv/CsvOutputFormatter.cs b/src/NuGetLicense/Output/Csv/CsvOutputFormatter.cs
index b4545ce6..e49960ae 100644
--- a/src/NuGetLicense/Output/Csv/CsvOutputFormatter.cs
+++ b/src/NuGetLicense/Output/Csv/CsvOutputFormatter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text;
diff --git a/src/NuGetLicense/Output/IOutputFormatter.cs b/src/NuGetLicense/Output/IOutputFormatter.cs
index b16e48b1..39f013e5 100644
--- a/src/NuGetLicense/Output/IOutputFormatter.cs
+++ b/src/NuGetLicense/Output/IOutputFormatter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
diff --git a/src/NuGetLicense/Output/Json/JsonOutputFormatter.cs b/src/NuGetLicense/Output/Json/JsonOutputFormatter.cs
index 80b5383e..a2112698 100644
--- a/src/NuGetLicense/Output/Json/JsonOutputFormatter.cs
+++ b/src/NuGetLicense/Output/Json/JsonOutputFormatter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text.Json;
diff --git a/src/NuGetLicense/Output/Table/TableOutputFormatter.cs b/src/NuGetLicense/Output/Table/TableOutputFormatter.cs
index a0aa6fe2..68ed8d83 100644
--- a/src/NuGetLicense/Output/Table/TableOutputFormatter.cs
+++ b/src/NuGetLicense/Output/Table/TableOutputFormatter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetLicense.LicenseValidator;
diff --git a/src/NuGetLicense/Program.cs b/src/NuGetLicense/Program.cs
index 16b27bc4..8e64b0aa 100644
--- a/src/NuGetLicense/Program.cs
+++ b/src/NuGetLicense/Program.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Reflection;
diff --git a/src/NuGetLicense/Serialization/ValidatedLicenseJsonConverterWithOmittingEmptyErrorList.cs b/src/NuGetLicense/Serialization/ValidatedLicenseJsonConverterWithOmittingEmptyErrorList.cs
index e46cb0ac..6df4355f 100644
--- a/src/NuGetLicense/Serialization/ValidatedLicenseJsonConverterWithOmittingEmptyErrorList.cs
+++ b/src/NuGetLicense/Serialization/ValidatedLicenseJsonConverterWithOmittingEmptyErrorList.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text.Json;
diff --git a/src/NuGetLicenseCore/Program.cs b/src/NuGetLicenseCore/Program.cs
index 612f230a..bf28627b 100644
--- a/src/NuGetLicenseCore/Program.cs
+++ b/src/NuGetLicenseCore/Program.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using McMaster.Extensions.CommandLineUtils;
diff --git a/src/NuGetLicenseFramework/Program.cs b/src/NuGetLicenseFramework/Program.cs
index a8b8f99a..23f55189 100644
--- a/src/NuGetLicenseFramework/Program.cs
+++ b/src/NuGetLicenseFramework/Program.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using McMaster.Extensions.CommandLineUtils;
diff --git a/src/NuGetUtility/AppLifetime.cs b/src/NuGetUtility/AppLifetime.cs
index 6d4cb4fc..17ddad87 100644
--- a/src/NuGetUtility/AppLifetime.cs
+++ b/src/NuGetUtility/AppLifetime.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility
diff --git a/src/NuGetUtility/Extensions/AsyncEnumerableExtension.cs b/src/NuGetUtility/Extensions/AsyncEnumerableExtension.cs
index 6d9f190b..adb2d6f2 100644
--- a/src/NuGetUtility/Extensions/AsyncEnumerableExtension.cs
+++ b/src/NuGetUtility/Extensions/AsyncEnumerableExtension.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Extensions
diff --git a/src/NuGetUtility/Extensions/HashSetExtension.cs b/src/NuGetUtility/Extensions/HashSetExtension.cs
index 3e9b9512..e29e5955 100644
--- a/src/NuGetUtility/Extensions/HashSetExtension.cs
+++ b/src/NuGetUtility/Extensions/HashSetExtension.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Extensions
diff --git a/src/NuGetUtility/Extensions/ProjectExtensions.cs b/src/NuGetUtility/Extensions/ProjectExtensions.cs
index 6904e70c..2fc8f2d3 100644
--- a/src/NuGetUtility/Extensions/ProjectExtensions.cs
+++ b/src/NuGetUtility/Extensions/ProjectExtensions.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.MsBuildWrapper;
diff --git a/src/NuGetUtility/Extensions/StringExtensions.cs b/src/NuGetUtility/Extensions/StringExtensions.cs
index ea34deeb..c068bbdc 100644
--- a/src/NuGetUtility/Extensions/StringExtensions.cs
+++ b/src/NuGetUtility/Extensions/StringExtensions.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text.RegularExpressions;
diff --git a/src/NuGetUtility/Extensions/TaskExtensions.cs b/src/NuGetUtility/Extensions/TaskExtensions.cs
index d1f899ea..f46af4c8 100644
--- a/src/NuGetUtility/Extensions/TaskExtensions.cs
+++ b/src/NuGetUtility/Extensions/TaskExtensions.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Extensions
diff --git a/src/NuGetUtility/Output/Table/TablePrinter.cs b/src/NuGetUtility/Output/Table/TablePrinter.cs
index ca8461ca..4739c2f2 100644
--- a/src/NuGetUtility/Output/Table/TablePrinter.cs
+++ b/src/NuGetUtility/Output/Table/TablePrinter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text;
diff --git a/src/NuGetUtility/Output/Table/TablePrinterExtensions.cs b/src/NuGetUtility/Output/Table/TablePrinterExtensions.cs
index 7652dfaa..9a14fb46 100644
--- a/src/NuGetUtility/Output/Table/TablePrinterExtensions.cs
+++ b/src/NuGetUtility/Output/Table/TablePrinterExtensions.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Output.Table
diff --git a/src/NuGetUtility/OutputType.cs b/src/NuGetUtility/OutputType.cs
index cd960215..e1a60d76 100644
--- a/src/NuGetUtility/OutputType.cs
+++ b/src/NuGetUtility/OutputType.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility
diff --git a/src/NuGetUtility/PackageInformationReader/CustomPackageInformation.cs b/src/NuGetUtility/PackageInformationReader/CustomPackageInformation.cs
index ce8ed9d3..0ff6d0b3 100644
--- a/src/NuGetUtility/PackageInformationReader/CustomPackageInformation.cs
+++ b/src/NuGetUtility/PackageInformationReader/CustomPackageInformation.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
diff --git a/src/NuGetUtility/PackageInformationReader/PackageInformationReader.cs b/src/NuGetUtility/PackageInformationReader/PackageInformationReader.cs
index 201cc62c..16fbbd24 100644
--- a/src/NuGetUtility/PackageInformationReader/PackageInformationReader.cs
+++ b/src/NuGetUtility/PackageInformationReader/PackageInformationReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Runtime.CompilerServices;
diff --git a/src/NuGetUtility/PackageInformationReader/PackageMetadata.cs b/src/NuGetUtility/PackageInformationReader/PackageMetadata.cs
index 28090cd0..559afd1a 100644
--- a/src/NuGetUtility/PackageInformationReader/PackageMetadata.cs
+++ b/src/NuGetUtility/PackageInformationReader/PackageMetadata.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging;
diff --git a/src/NuGetUtility/PackageInformationReader/ProjectWithReferencedPackages.cs b/src/NuGetUtility/PackageInformationReader/ProjectWithReferencedPackages.cs
index 716e4f02..56bdfae7 100644
--- a/src/NuGetUtility/PackageInformationReader/ProjectWithReferencedPackages.cs
+++ b/src/NuGetUtility/PackageInformationReader/ProjectWithReferencedPackages.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
diff --git a/src/NuGetUtility/PackageInformationReader/ReferencedPackageWithContext.cs b/src/NuGetUtility/PackageInformationReader/ReferencedPackageWithContext.cs
index c095e6a9..258660c5 100644
--- a/src/NuGetUtility/PackageInformationReader/ReferencedPackageWithContext.cs
+++ b/src/NuGetUtility/PackageInformationReader/ReferencedPackageWithContext.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging;
diff --git a/src/NuGetUtility/ProjectFiltering/ProjectFilter.cs b/src/NuGetUtility/ProjectFiltering/ProjectFilter.cs
index 76b4347e..17b5d3ce 100644
--- a/src/NuGetUtility/ProjectFiltering/ProjectFilter.cs
+++ b/src/NuGetUtility/ProjectFiltering/ProjectFilter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.ProjectFiltering
diff --git a/src/NuGetUtility/ReferencedPackagesReader/ProjectsCollector.cs b/src/NuGetUtility/ReferencedPackagesReader/ProjectsCollector.cs
index b7d39537..f1c00a41 100644
--- a/src/NuGetUtility/ReferencedPackagesReader/ProjectsCollector.cs
+++ b/src/NuGetUtility/ReferencedPackagesReader/ProjectsCollector.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.IO.Abstractions;
diff --git a/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReader.cs b/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReader.cs
index a1973bfe..483b3354 100644
--- a/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReader.cs
+++ b/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Diagnostics.CodeAnalysis;
diff --git a/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReaderException.cs b/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReaderException.cs
index a1805dfc..6e51b045 100644
--- a/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReaderException.cs
+++ b/src/NuGetUtility/ReferencedPackagesReader/ReferencedPackageReaderException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.ReferencedPackagesReader
diff --git a/src/NuGetUtility/Serialization/NuGetVersionJsonConverter.cs b/src/NuGetUtility/Serialization/NuGetVersionJsonConverter.cs
index 7c5fe8cd..62b1191c 100644
--- a/src/NuGetUtility/Serialization/NuGetVersionJsonConverter.cs
+++ b/src/NuGetUtility/Serialization/NuGetVersionJsonConverter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text.Json;
diff --git a/src/NuGetUtility/Serialization/UriDictionaryJsonConverter.cs b/src/NuGetUtility/Serialization/UriDictionaryJsonConverter.cs
index 0f861702..8fdd2a21 100644
--- a/src/NuGetUtility/Serialization/UriDictionaryJsonConverter.cs
+++ b/src/NuGetUtility/Serialization/UriDictionaryJsonConverter.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Text.Json;
diff --git a/src/NuGetUtility/Wrapper/HttpClientWrapper/DownloadFailedException.cs b/src/NuGetUtility/Wrapper/HttpClientWrapper/DownloadFailedException.cs
index 784bd114..73f8eccb 100644
--- a/src/NuGetUtility/Wrapper/HttpClientWrapper/DownloadFailedException.cs
+++ b/src/NuGetUtility/Wrapper/HttpClientWrapper/DownloadFailedException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.HttpClientWrapper
diff --git a/src/NuGetUtility/Wrapper/HttpClientWrapper/FileDownloader.cs b/src/NuGetUtility/Wrapper/HttpClientWrapper/FileDownloader.cs
index 6c178271..f96d6343 100644
--- a/src/NuGetUtility/Wrapper/HttpClientWrapper/FileDownloader.cs
+++ b/src/NuGetUtility/Wrapper/HttpClientWrapper/FileDownloader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Concurrent;
diff --git a/src/NuGetUtility/Wrapper/HttpClientWrapper/IFileDownloader.cs b/src/NuGetUtility/Wrapper/HttpClientWrapper/IFileDownloader.cs
index 031f57fb..881696d7 100644
--- a/src/NuGetUtility/Wrapper/HttpClientWrapper/IFileDownloader.cs
+++ b/src/NuGetUtility/Wrapper/HttpClientWrapper/IFileDownloader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.HttpClientWrapper
diff --git a/src/NuGetUtility/Wrapper/HttpClientWrapper/NopFileDownloader.cs b/src/NuGetUtility/Wrapper/HttpClientWrapper/NopFileDownloader.cs
index 739dd9c6..86e6e4e1 100644
--- a/src/NuGetUtility/Wrapper/HttpClientWrapper/NopFileDownloader.cs
+++ b/src/NuGetUtility/Wrapper/HttpClientWrapper/NopFileDownloader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.HttpClientWrapper
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/IMsBuildAbstraction.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/IMsBuildAbstraction.cs
index dea21a9e..3fae4933 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/IMsBuildAbstraction.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/IMsBuildAbstraction.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.MsBuildWrapper
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/IProject.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/IProject.cs
index 56d2eee3..60fa422d 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/IProject.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/IProject.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Diagnostics.CodeAnalysis;
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstraction.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstraction.cs
index 318613b4..83c5078e 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstraction.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstraction.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using Microsoft.Build.Evaluation;
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstractionException.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstractionException.cs
index 54dee559..2031a42a 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstractionException.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstractionException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.MsBuildWrapper
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReference.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReference.cs
index 68919d3e..79e7381d 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReference.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReference.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReferenceMetadata.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReferenceMetadata.cs
index 801d4733..d7cafeaf 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReferenceMetadata.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/PackageReferenceMetadata.cs
@@ -1,8 +1,6 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
-using System.Collections.Generic;
-
namespace NuGetUtility.Wrapper.MsBuildWrapper
{
public record PackageReferenceMetadata(string PackageName, IReadOnlyDictionary Metadata);
diff --git a/src/NuGetUtility/Wrapper/MsBuildWrapper/ProjectWrapper.cs b/src/NuGetUtility/Wrapper/MsBuildWrapper/ProjectWrapper.cs
index 61a13868..0c894b57 100644
--- a/src/NuGetUtility/Wrapper/MsBuildWrapper/ProjectWrapper.cs
+++ b/src/NuGetUtility/Wrapper/MsBuildWrapper/ProjectWrapper.cs
@@ -1,9 +1,7 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
-using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
-using System.Linq;
using Microsoft.Build.Evaluation;
namespace NuGetUtility.Wrapper.MsBuildWrapper
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFramework.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFramework.cs
index 9e2a5f7b..d4e5eb53 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFramework.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFramework.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Frameworks
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFrameworkUtility.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFrameworkUtility.cs
index 7b623b14..7c6c8fc6 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFrameworkUtility.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/INuGetFrameworkUtility.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Frameworks
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/NuGetFrameworkUtility.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/NuGetFrameworkUtility.cs
index 186fd179..caab2aad 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/NuGetFrameworkUtility.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/NuGetFrameworkUtility.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Frameworks;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/WrappedNuGetFramework.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/WrappedNuGetFramework.cs
index be4f5872..4e857266 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/WrappedNuGetFramework.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Frameworks/WrappedNuGetFramework.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Frameworks;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/NugetWrapperException.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/NugetWrapperException.cs
index f83d6f30..936a9b7b 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/NugetWrapperException.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/NugetWrapperException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/FailingPackagesConfigReader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/FailingPackagesConfigReader.cs
index 101cfa0f..e193ba7e 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/FailingPackagesConfigReader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/FailingPackagesConfigReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.MsBuildWrapper;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackageDependency.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackageDependency.cs
index 9c02aaa1..29171418 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackageDependency.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackageDependency.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackagesConfigReader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackagesConfigReader.cs
index 4477c548..b00afc48 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackagesConfigReader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/IPackagesConfigReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.MsBuildWrapper;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackageIdentity.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackageIdentity.cs
index ff068d5a..dca872a1 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackageIdentity.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackageIdentity.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackagesConfigReaderException.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackagesConfigReaderException.cs
index e160ef7f..97ffaedb 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackagesConfigReaderException.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/PackagesConfigReaderException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WindowsPackagesConfigReader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WindowsPackagesConfigReader.cs
index 0d73a6ed..2b3f9743 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WindowsPackagesConfigReader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WindowsPackagesConfigReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Xml.Linq;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WrappedPackageDependency.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WrappedPackageDependency.cs
index a67c4b73..5cf43076 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WrappedPackageDependency.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/Core/WrappedPackageDependency.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Packaging.Core;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/IPackageMetadata.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/IPackageMetadata.cs
index 0a251d64..95523ea3 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/IPackageMetadata.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/IPackageMetadata.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseMetadata.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseMetadata.cs
index 15ca2fa4..6e71c9cc 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseMetadata.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseMetadata.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.ComponentModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseType.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseType.cs
index 773c7bb5..d805695b 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseType.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseType.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Packaging
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/AssetsPackageDependencyReader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/AssetsPackageDependencyReader.cs
index 648aafd1..ac752ea6 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/AssetsPackageDependencyReader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/AssetsPackageDependencyReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Diagnostics;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IAssetsPackageDependencyReader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IAssetsPackageDependencyReader.cs
index 3a3c6825..2f3dba93 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IAssetsPackageDependencyReader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IAssetsPackageDependencyReader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILibraryDependency.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILibraryDependency.cs
index 95b9daf8..ca2e0a9c 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILibraryDependency.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILibraryDependency.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFile.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFile.cs
index 18a03797..8328703c 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFile.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFile.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileFactory.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileFactory.cs
index 3a488df3..a3b488ed 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileFactory.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileFactory.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileLibrary.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileLibrary.cs
index b54eaace..70dc301b 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileLibrary.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileLibrary.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTarget.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTarget.cs
index 0c162678..d37518b6 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTarget.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTarget.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Frameworks;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTargetLibrary.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTargetLibrary.cs
index 76c1f016..e7633a03 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTargetLibrary.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ILockFileTargetLibrary.cs
@@ -1,8 +1,7 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
-using NuGetUtility.Wrapper.NuGetWrapper.Versioning;
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
{
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IPackageSpec.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IPackageSpec.cs
index 9767157f..50c5b2f7 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IPackageSpec.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/IPackageSpec.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.ProjectModel
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ITargetFrameworkInformation.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ITargetFrameworkInformation.cs
index 2d633dcf..7aff7e7c 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ITargetFrameworkInformation.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/ITargetFrameworkInformation.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Frameworks;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/LockFileFactory.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/LockFileFactory.cs
index b3296a1c..73a737ce 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/LockFileFactory.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/LockFileFactory.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLibraryDependency.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLibraryDependency.cs
index d397246e..2cd2253f 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLibraryDependency.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLibraryDependency.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.LibraryModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFile.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFile.cs
index 6e70795c..9ef104a1 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFile.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFile.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileLibrary.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileLibrary.cs
index f16c25b6..7cd0e3d8 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileLibrary.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileLibrary.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTarget.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTarget.cs
index b42def18..2ffecad3 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTarget.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTarget.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTargetLibrary.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTargetLibrary.cs
index a1043364..10296e3b 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTargetLibrary.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedLockFileTargetLibrary.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedPackageSpec.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedPackageSpec.cs
index 6b31dd74..b7591aae 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedPackageSpec.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedPackageSpec.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedTargetFrameworkInformation.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedTargetFrameworkInformation.cs
index 8946016e..31a33823 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedTargetFrameworkInformation.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/ProjectModel/WrappedTargetFrameworkInformation.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.ProjectModel;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingDisposableSourceRepository.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingDisposableSourceRepository.cs
index d5d41944..47a4c307 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingDisposableSourceRepository.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingDisposableSourceRepository.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Protocol.Core.Types;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingFindPackageByIdResource.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingFindPackageByIdResource.cs
index 318db8bf..87e416a6 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingFindPackageByIdResource.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingFindPackageByIdResource.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Common;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingPackageMetadataResource.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingPackageMetadataResource.cs
index e80e45c5..8fab3a7a 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingPackageMetadataResource.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingPackageMetadataResource.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Common;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IDisposableSourceRepository.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IDisposableSourceRepository.cs
index 739b2dc8..48779ef7 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IDisposableSourceRepository.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IDisposableSourceRepository.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Protocol.Core.Types
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IFindPackageByIdResource.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IFindPackageByIdResource.cs
index 0993a33e..eb2b09ac 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IFindPackageByIdResource.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IFindPackageByIdResource.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageDownloader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageDownloader.cs
index 8f3730b2..f181edf4 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageDownloader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageDownloader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Protocol.Core.Types
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageMetadataResource.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageMetadataResource.cs
index 7120c16f..038f40d2 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageMetadataResource.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IPackageMetadataResource.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/ISourceRepository.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/ISourceRepository.cs
index 8dcdaab5..690feb0a 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/ISourceRepository.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/ISourceRepository.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Protocol.Core.Types
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IWrappedSourceRepositoryProvider.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IWrappedSourceRepositoryProvider.cs
index 9298dad8..8ad63f6c 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IWrappedSourceRepositoryProvider.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/IWrappedSourceRepositoryProvider.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Protocol.Core.Types
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedPackageDownloader.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedPackageDownloader.cs
index 216435cd..ee44a325 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedPackageDownloader.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedPackageDownloader.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Protocol.Core.Types
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedSourceRepositoryProvider.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedSourceRepositoryProvider.cs
index 28f1cd95..9e7200bc 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedSourceRepositoryProvider.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/WrappedSourceRepositoryProvider.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Protocol.Core.Types;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/GlobalPackagesFolderUtility.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/GlobalPackagesFolderUtility.cs
index f2d4a267..c593b23a 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/GlobalPackagesFolderUtility.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/GlobalPackagesFolderUtility.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Configuration;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/IGlobalPackagesFolderUtility.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/IGlobalPackagesFolderUtility.cs
index 99601d6e..12c8751e 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/IGlobalPackagesFolderUtility.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/IGlobalPackagesFolderUtility.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/LicenseAugmentedPackageMetadata.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/LicenseAugmentedPackageMetadata.cs
index e77eb948..e21dd1cd 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/LicenseAugmentedPackageMetadata.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/LicenseAugmentedPackageMetadata.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetUtility.Wrapper.NuGetWrapper.Packaging.Core;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/WrappedPackageMetadata.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/WrappedPackageMetadata.cs
index eabd69c0..e7b2660c 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/WrappedPackageMetadata.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/WrappedPackageMetadata.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Packaging;
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/INuGetVersion.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/INuGetVersion.cs
index 9ef64c4e..03e2db84 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/INuGetVersion.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/INuGetVersion.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.NuGetWrapper.Versioning
diff --git a/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/WrappedNuGetVersion.cs b/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/WrappedNuGetVersion.cs
index aaa572c9..9d2d89f9 100644
--- a/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/WrappedNuGetVersion.cs
+++ b/src/NuGetUtility/Wrapper/NuGetWrapper/Versioning/WrappedNuGetVersion.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGet.Versioning;
diff --git a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/ISolutionPersistanceWrapper.cs b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/ISolutionPersistanceWrapper.cs
index b8ea1512..26c88fb8 100644
--- a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/ISolutionPersistanceWrapper.cs
+++ b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/ISolutionPersistanceWrapper.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.SolutionPersistenceWrapper
diff --git a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceException.cs b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceException.cs
index 429d6632..54a0352b 100644
--- a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceException.cs
+++ b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceException.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
namespace NuGetUtility.Wrapper.SolutionPersistenceWrapper
diff --git a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceWrapper.cs b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceWrapper.cs
index 11cc8802..b9483060 100644
--- a/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceWrapper.cs
+++ b/src/NuGetUtility/Wrapper/SolutionPersistenceWrapper/SolutionPersistanceWrapper.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using Microsoft.VisualStudio.SolutionPersistence;
diff --git a/tests/FileLicenseMatcher.Test/Combine/LicenseMatcherTest.cs b/tests/FileLicenseMatcher.Test/Combine/LicenseMatcherTest.cs
index 5f5fc918..90d1d2ad 100644
--- a/tests/FileLicenseMatcher.Test/Combine/LicenseMatcherTest.cs
+++ b/tests/FileLicenseMatcher.Test/Combine/LicenseMatcherTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using FileLicenseMatcher.Combine;
diff --git a/tests/FileLicenseMatcher.Test/Compare/LicenseMatcherTest.cs b/tests/FileLicenseMatcher.Test/Compare/LicenseMatcherTest.cs
index 35764625..9e0946c1 100644
--- a/tests/FileLicenseMatcher.Test/Compare/LicenseMatcherTest.cs
+++ b/tests/FileLicenseMatcher.Test/Compare/LicenseMatcherTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.IO.Abstractions;
diff --git a/tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj b/tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj
index 3b4e4746..2d227374 100644
--- a/tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj
+++ b/tests/FileLicenseMatcher.Test/FileLicenseMatcher.Test.csproj
@@ -14,14 +14,14 @@
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/tests/FileLicenseMatcher.Test/SPDX/LicenseMatcherTest.cs b/tests/FileLicenseMatcher.Test/SPDX/LicenseMatcherTest.cs
index f8e66a5f..840decff 100644
--- a/tests/FileLicenseMatcher.Test/SPDX/LicenseMatcherTest.cs
+++ b/tests/FileLicenseMatcher.Test/SPDX/LicenseMatcherTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using FileLicenseMatcher.SPDX;
diff --git a/tests/NuGetLicense.Test/CommandLineOptionsParserTest.cs b/tests/NuGetLicense.Test/CommandLineOptionsParserTest.cs
index a295e4e2..3de5bedb 100644
--- a/tests/NuGetLicense.Test/CommandLineOptionsParserTest.cs
+++ b/tests/NuGetLicense.Test/CommandLineOptionsParserTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
@@ -16,16 +16,14 @@
namespace NuGetLicense.Test
{
- [TestFixture]
- internal class CommandLineOptionsParserTest
+ public class CommandLineOptionsParserTest
{
- private MockFileSystem _fileSystem = null!;
- private MockHttpMessageHandler _mockHttp = null!;
- private HttpClient _httpClient = null!;
- private CommandLineOptionsParser _parser = null!;
+ private readonly MockFileSystem _fileSystem;
+ private readonly MockHttpMessageHandler _mockHttp;
+ private readonly HttpClient _httpClient;
+ private readonly CommandLineOptionsParser _parser;
- [SetUp]
- public void SetUp()
+ protected CommandLineOptionsParserTest()
{
_fileSystem = new MockFileSystem();
_mockHttp = new MockHttpMessageHandler();
@@ -33,18 +31,17 @@ public void SetUp()
_parser = new CommandLineOptionsParser(_fileSystem, _httpClient);
}
- [TearDown]
+ [After(HookType.Test)]
public void TearDown()
{
- _httpClient?.Dispose();
- _mockHttp?.Dispose();
+ _httpClient.Dispose();
+ _mockHttp.Dispose();
}
- [TestFixture]
- internal class GetInputFilesTests : CommandLineOptionsParserTest
+ public class GetInputFilesTests : CommandLineOptionsParserTest
{
[Test]
- public void GetInputFiles_WithInputFile_ReturnsFileInArray()
+ public async Task GetInputFiles_WithInputFile_ReturnsFileInArray()
{
// Arrange
string inputFile = "/test/project.csproj";
@@ -53,12 +50,12 @@ public void GetInputFiles_WithInputFile_ReturnsFileInArray()
string[] result = _parser.GetInputFiles(inputFile, null);
// Assert
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(inputFile));
+ await Assert.That(result).HasAtLeast(1);
+ await Assert.That(result[0]).IsEqualTo(inputFile);
}
[Test]
- public void GetInputFiles_WithInputJsonFile_ReadsAndDeserializesFile()
+ public async Task GetInputFiles_WithInputJsonFile_ReadsAndDeserializesFile()
{
// Arrange
string jsonFile = "/test/input.json";
@@ -69,20 +66,20 @@ public void GetInputFiles_WithInputJsonFile_ReadsAndDeserializesFile()
string[] result = _parser.GetInputFiles(null, jsonFile);
// Assert
- Assert.That(result, Is.EqualTo(expectedFiles));
+ await Assert.That(result).IsEquivalentTo(expectedFiles);
}
[Test]
- public void GetInputFiles_WithNeitherOption_ThrowsArgumentException()
+ public async Task GetInputFiles_WithNeitherOption_ThrowsArgumentException()
{
// Act & Assert
- ArgumentException? ex = Assert.Throws(() =>
- _parser.GetInputFiles(null, null));
- Assert.That(ex!.Message, Does.Contain("Please provide an input file using --input or --json-input"));
+ ArgumentException? ex = await Assert.That(() =>
+ _parser.GetInputFiles(null, null)).Throws();
+ await Assert.That(ex!.Message).Contains("Please provide an input file using --input or --json-input");
}
[Test]
- public void GetInputFiles_WithBothOptions_PrefersInputFile()
+ public async Task GetInputFiles_WithBothOptions_PrefersInputFile()
{
// Arrange
string inputFile = "/test/project.csproj";
@@ -93,26 +90,25 @@ public void GetInputFiles_WithBothOptions_PrefersInputFile()
string[] result = _parser.GetInputFiles(inputFile, jsonFile);
// Assert
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0], Is.EqualTo(inputFile));
+ await Assert.That(result).Count().IsEqualTo(1);
+ await Assert.That(result[0]).IsEqualTo(inputFile);
}
}
- [TestFixture]
- internal class GetAllowedLicensesTests : CommandLineOptionsParserTest
+ public class GetAllowedLicensesTests : CommandLineOptionsParserTest
{
[Test]
- public void GetAllowedLicenses_WithNull_ReturnsEmptyArray()
+ public async Task GetAllowedLicenses_WithNull_ReturnsEmptyArray()
{
// Act
string[] result = _parser.GetAllowedLicenses(null);
// Assert
- Assert.That(result, Is.Empty);
+ await Assert.That(result).IsEmpty();
}
[Test]
- public void GetAllowedLicenses_WithInlineList_ReturnsParsedArray()
+ public async Task GetAllowedLicenses_WithInlineList_ReturnsParsedArray()
{
// Arrange
string allowedLicenses = "MIT;Apache-2.0;BSD-3-Clause";
@@ -121,11 +117,11 @@ public void GetAllowedLicenses_WithInlineList_ReturnsParsedArray()
string[] result = _parser.GetAllowedLicenses(allowedLicenses);
// Assert
- Assert.That(result, Is.EqualTo(["MIT", "Apache-2.0", "BSD-3-Clause"]));
+ await Assert.That(result).IsEquivalentTo(["MIT", "Apache-2.0", "BSD-3-Clause"]);
}
[Test]
- public void GetAllowedLicenses_WithFile_ReadsAndDeserializesFile()
+ public async Task GetAllowedLicenses_WithFile_ReadsAndDeserializesFile()
{
// Arrange
string licenseFile = "/test/allowed.json";
@@ -136,11 +132,11 @@ public void GetAllowedLicenses_WithFile_ReadsAndDeserializesFile()
string[] result = _parser.GetAllowedLicenses(licenseFile);
// Assert
- Assert.That(result, Is.EqualTo(expectedLicenses));
+ await Assert.That(result).IsEquivalentTo(expectedLicenses);
}
[Test]
- public void GetAllowedLicenses_WithWhitespace_TrimsValues()
+ public async Task GetAllowedLicenses_WithWhitespace_TrimsValues()
{
// Arrange
string allowedLicenses = " MIT ; Apache-2.0 ; BSD-3-Clause ";
@@ -149,38 +145,37 @@ public void GetAllowedLicenses_WithWhitespace_TrimsValues()
string[] result = _parser.GetAllowedLicenses(allowedLicenses);
// Assert
- Assert.That(result, Is.EqualTo(["MIT", "Apache-2.0", "BSD-3-Clause"]));
+ await Assert.That(result).IsEquivalentTo(["MIT", "Apache-2.0", "BSD-3-Clause"]);
}
[Test]
- public void GetAllowedLicenses_WithInvalidJsonFile_ThrowsArgumentException()
+ public async Task GetAllowedLicenses_WithInvalidJsonFile_ThrowsArgumentException()
{
// Arrange
string licenseFile = "/test/allowed.json";
_fileSystem.AddFile(licenseFile, new MockFileData("invalid json"));
// Act & Assert
- ArgumentException? ex = Assert.Throws(() =>
- _parser.GetAllowedLicenses(licenseFile));
- Assert.That(ex!.Message, Does.Contain("Failed to parse JSON file"));
+ ArgumentException? ex = await Assert.That(() =>
+ _parser.GetAllowedLicenses(licenseFile)).Throws();
+ await Assert.That(ex!.Message).Contains("Failed to parse JSON file");
}
}
- [TestFixture]
- internal class GetIgnoredPackagesTests : CommandLineOptionsParserTest
+ public class GetIgnoredPackagesTests : CommandLineOptionsParserTest
{
[Test]
- public void GetIgnoredPackages_WithNull_ReturnsEmptyArray()
+ public async Task GetIgnoredPackages_WithNull_ReturnsEmptyArray()
{
// Act
string[] result = _parser.GetIgnoredPackages(null);
// Assert
- Assert.That(result, Is.Empty);
+ await Assert.That(result).IsEmpty();
}
[Test]
- public void GetIgnoredPackages_WithInlineList_ReturnsParsedArray()
+ public async Task GetIgnoredPackages_WithInlineList_ReturnsParsedArray()
{
// Arrange
string ignoredPackages = "Package1;Package2;Package3";
@@ -189,11 +184,11 @@ public void GetIgnoredPackages_WithInlineList_ReturnsParsedArray()
string[] result = _parser.GetIgnoredPackages(ignoredPackages);
// Assert
- Assert.That(result, Is.EqualTo(["Package1", "Package2", "Package3"]));
+ await Assert.That(result).IsEquivalentTo(["Package1", "Package2", "Package3"]);
}
[Test]
- public void GetIgnoredPackages_WithFile_ReadsAndDeserializesFile()
+ public async Task GetIgnoredPackages_WithFile_ReadsAndDeserializesFile()
{
// Arrange
string packageFile = "/test/ignored.json";
@@ -204,25 +199,24 @@ public void GetIgnoredPackages_WithFile_ReadsAndDeserializesFile()
string[] result = _parser.GetIgnoredPackages(packageFile);
// Assert
- Assert.That(result, Is.EqualTo(expectedPackages));
+ await Assert.That(result).IsEquivalentTo(expectedPackages);
}
}
- [TestFixture]
- internal class GetExcludedProjectsTests : CommandLineOptionsParserTest
+ public class GetExcludedProjectsTests : CommandLineOptionsParserTest
{
[Test]
- public void GetExcludedProjects_WithNull_ReturnsEmptyArray()
+ public async Task GetExcludedProjects_WithNull_ReturnsEmptyArray()
{
// Act
string[] result = _parser.GetExcludedProjects(null);
// Assert
- Assert.That(result, Is.Empty);
+ await Assert.That(result).IsEmpty();
}
[Test]
- public void GetExcludedProjects_WithInlineList_ReturnsParsedArray()
+ public async Task GetExcludedProjects_WithInlineList_ReturnsParsedArray()
{
// Arrange
string excludedProjects = "*Test*;*.Test;Legacy*";
@@ -231,11 +225,11 @@ public void GetExcludedProjects_WithInlineList_ReturnsParsedArray()
string[] result = _parser.GetExcludedProjects(excludedProjects);
// Assert
- Assert.That(result, Is.EqualTo(["*Test*", "*.Test", "Legacy*"]));
+ await Assert.That(result).IsEquivalentTo(["*Test*", "*.Test", "Legacy*"]);
}
[Test]
- public void GetExcludedProjects_WithFile_ReadsAndDeserializesFile()
+ public async Task GetExcludedProjects_WithFile_ReadsAndDeserializesFile()
{
// Arrange
string projectFile = "/test/excluded.json";
@@ -246,26 +240,25 @@ public void GetExcludedProjects_WithFile_ReadsAndDeserializesFile()
string[] result = _parser.GetExcludedProjects(projectFile);
// Assert
- Assert.That(result, Is.EqualTo(expectedProjects));
+ await Assert.That(result).IsEquivalentTo(expectedProjects);
}
}
- [TestFixture]
- internal class GetLicenseMappingsTests : CommandLineOptionsParserTest
+ public class GetLicenseMappingsTests : CommandLineOptionsParserTest
{
[Test]
- public void GetLicenseMappings_WithNull_ReturnsDefaultMapping()
+ public async Task GetLicenseMappings_WithNull_ReturnsDefaultMapping()
{
// Act
IImmutableDictionary result = _parser.GetLicenseMappings(null);
// Assert
- Assert.That(result, Is.Not.Null);
- Assert.That(result.Count, Is.GreaterThan(0)); // Should contain default mappings
+ await Assert.That(result).IsNotNull();
+ await Assert.That(result.Count).IsGreaterThan(0); // Should contain default mappings
}
[Test]
- public void GetLicenseMappings_WithFile_MergesWithDefaultMappings()
+ public async Task GetLicenseMappings_WithFile_MergesWithDefaultMappings()
{
// Arrange
string mappingFile = "/test/mappings.json";
@@ -277,26 +270,25 @@ public void GetLicenseMappings_WithFile_MergesWithDefaultMappings()
IImmutableDictionary result = _parser.GetLicenseMappings(mappingFile);
// Assert
- Assert.That(result.ContainsKey(customUrl), Is.True);
- Assert.That(result[customUrl], Is.EqualTo(customLicense));
+ await Assert.That(result.ContainsKey(customUrl)).IsTrue();
+ await Assert.That(result[customUrl]).IsEqualTo(customLicense);
}
}
- [TestFixture]
- internal class GetOverridePackageInformationTests : CommandLineOptionsParserTest
+ public class GetOverridePackageInformationTests : CommandLineOptionsParserTest
{
[Test]
- public void GetOverridePackageInformation_WithNull_ReturnsEmptyArray()
+ public async Task GetOverridePackageInformation_WithNull_ReturnsEmptyArray()
{
// Act
CustomPackageInformation[] result = _parser.GetOverridePackageInformation(null);
// Assert
- Assert.That(result, Is.Empty);
+ await Assert.That(result).IsEmpty();
}
[Test]
- public void GetOverridePackageInformation_WithFile_ReadsAndDeserializesFile()
+ public async Task GetOverridePackageInformation_WithFile_ReadsAndDeserializesFile()
{
// Arrange
string overrideFile = "/test/override.json";
@@ -306,28 +298,27 @@ public void GetOverridePackageInformation_WithFile_ReadsAndDeserializesFile()
CustomPackageInformation[] result = _parser.GetOverridePackageInformation(overrideFile);
// Assert
- Assert.That(result, Has.Length.EqualTo(1));
- Assert.That(result[0].Id, Is.EqualTo("TestPackage"));
- Assert.That(result[0].License, Is.EqualTo("MIT"));
+ await Assert.That(result).Count().IsEqualTo(1);
+ await Assert.That(result[0].Id).IsEqualTo("TestPackage");
+ await Assert.That(result[0].License).IsEqualTo("MIT");
}
}
- [TestFixture]
- internal class GetLicenseMatcherTests : CommandLineOptionsParserTest
+ public class GetLicenseMatcherTests : CommandLineOptionsParserTest
{
[Test]
- public void GetLicenseMatcher_WithNull_ReturnsSpdxMatcher()
+ public async Task GetLicenseMatcher_WithNull_ReturnsSpdxMatcher()
{
// Act
IFileLicenseMatcher result = _parser.GetLicenseMatcher(null);
// Assert
- Assert.That(result, Is.Not.Null);
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsNotNull();
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetLicenseMatcher_WithFile_ReturnsCombinedMatcher()
+ public async Task GetLicenseMatcher_WithFile_ReturnsCombinedMatcher()
{
// Arrange
string mappingFile = "/test/dir/license-mappings.json";
@@ -339,26 +330,25 @@ public void GetLicenseMatcher_WithFile_ReturnsCombinedMatcher()
IFileLicenseMatcher result = _parser.GetLicenseMatcher(mappingFile);
// Assert
- Assert.That(result, Is.Not.Null);
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsNotNull();
+ await Assert.That(result).IsTypeOf();
}
}
- [TestFixture]
- internal class GetFileDownloaderTests : CommandLineOptionsParserTest
+ public class GetFileDownloaderTests : CommandLineOptionsParserTest
{
[Test]
- public void GetFileDownloader_WithNull_ReturnsNopDownloader()
+ public async Task GetFileDownloader_WithNull_ReturnsNopDownloader()
{
// Act
IFileDownloader result = _parser.GetFileDownloader(null);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetFileDownloader_WithDirectory_CreatesDirectoryAndReturnsFileDownloader()
+ public async Task GetFileDownloader_WithDirectory_CreatesDirectoryAndReturnsFileDownloader()
{
// Arrange
string downloadDir = "/test/downloads";
@@ -367,12 +357,12 @@ public void GetFileDownloader_WithDirectory_CreatesDirectoryAndReturnsFileDownlo
IFileDownloader result = _parser.GetFileDownloader(downloadDir);
// Assert
- Assert.That(result, Is.InstanceOf());
- Assert.That(_fileSystem.Directory.Exists(downloadDir), Is.True);
+ await Assert.That(result).IsTypeOf();
+ await Assert.That(_fileSystem.Directory.Exists(downloadDir)).IsTrue();
}
[Test]
- public void GetFileDownloader_WithExistingDirectory_ReturnsFileDownloader()
+ public async Task GetFileDownloader_WithExistingDirectory_ReturnsFileDownloader()
{
// Arrange
string downloadDir = "/test/downloads";
@@ -382,59 +372,58 @@ public void GetFileDownloader_WithExistingDirectory_ReturnsFileDownloader()
IFileDownloader result = _parser.GetFileDownloader(downloadDir);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
}
- [TestFixture]
- internal class GetOutputFormatterTests : CommandLineOptionsParserTest
+ public class GetOutputFormatterTests : CommandLineOptionsParserTest
{
[Test]
- public void GetOutputFormatter_WithTable_ReturnsTableFormatter()
+ public async Task GetOutputFormatter_WithTable_ReturnsTableFormatter()
{
// Act
LicenseOutput.IOutputFormatter result = _parser.GetOutputFormatter(OutputType.Table, false, false);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetOutputFormatter_WithMarkdown_ReturnsTableFormatter()
+ public async Task GetOutputFormatter_WithMarkdown_ReturnsTableFormatter()
{
// Act
LicenseOutput.IOutputFormatter result = _parser.GetOutputFormatter(OutputType.Markdown, false, false);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetOutputFormatter_WithJson_ReturnsJsonFormatter()
+ public async Task GetOutputFormatter_WithJson_ReturnsJsonFormatter()
{
// Act
LicenseOutput.IOutputFormatter result = _parser.GetOutputFormatter(OutputType.Json, false, false);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetOutputFormatter_WithJsonPretty_ReturnsJsonFormatter()
+ public async Task GetOutputFormatter_WithJsonPretty_ReturnsJsonFormatter()
{
// Act
LicenseOutput.IOutputFormatter result = _parser.GetOutputFormatter(OutputType.JsonPretty, false, false);
// Assert
- Assert.That(result, Is.InstanceOf());
+ await Assert.That(result).IsTypeOf();
}
[Test]
- public void GetOutputFormatter_WithInvalidType_ThrowsArgumentOutOfRangeException()
+ public async Task GetOutputFormatter_WithInvalidType_ThrowsArgumentOutOfRangeException()
{
// Act & Assert
- Assert.Throws(() =>
- _parser.GetOutputFormatter((OutputType)999, false, false));
+ await Assert.That(() =>
+ _parser.GetOutputFormatter((OutputType)999, false, false)).Throws();
}
}
}
diff --git a/tests/NuGetLicense.Test/LicenseValidationOrchestratorTest.cs b/tests/NuGetLicense.Test/LicenseValidationOrchestratorTest.cs
index 41ac7338..ec626e80 100644
--- a/tests/NuGetLicense.Test/LicenseValidationOrchestratorTest.cs
+++ b/tests/NuGetLicense.Test/LicenseValidationOrchestratorTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
@@ -15,26 +15,22 @@
namespace NuGetLicense.Test
{
- [TestFixture]
- internal class LicenseValidationOrchestratorTest
+ public class LicenseValidationOrchestratorTest
{
- private MockFileSystem _fileSystem = null!;
- private ISolutionPersistanceWrapper _solutionPersistance = null!;
- private IMsBuildAbstraction _msBuild = null!;
- private IPackagesConfigReader _packagesConfigReader = null!;
- private ICommandLineOptionsParser _optionsParser = null!;
- private MemoryStream _outputStream = null!;
- private MemoryStream _errorStream = null!;
- private ICommandLineOptions _options = null!;
- private LicenseValidationOrchestrator _orchestrator = null!;
-
- [SetUp]
- public void SetUp()
+ private readonly MockFileSystem _fileSystem;
+ private readonly ISolutionPersistanceWrapper _solutionPersistance;
+ private readonly ICommandLineOptionsParser _optionsParser;
+ private readonly MemoryStream _outputStream;
+ private readonly MemoryStream _errorStream;
+ private readonly ICommandLineOptions _options;
+ private readonly LicenseValidationOrchestrator _orchestrator;
+
+ public LicenseValidationOrchestratorTest()
{
_fileSystem = new MockFileSystem();
_solutionPersistance = Substitute.For();
- _msBuild = Substitute.For();
- _packagesConfigReader = Substitute.For();
+ IMsBuildAbstraction msBuild = Substitute.For();
+ IPackagesConfigReader packagesConfigReader = Substitute.For();
_optionsParser = Substitute.For();
_outputStream = new MemoryStream();
_errorStream = new MemoryStream();
@@ -45,18 +41,18 @@ public void SetUp()
_orchestrator = new LicenseValidationOrchestrator(
_fileSystem,
_solutionPersistance,
- _msBuild,
- _packagesConfigReader,
+ msBuild,
+ packagesConfigReader,
_optionsParser,
_outputStream,
_errorStream);
}
- [TearDown]
+ [After(HookType.Test)]
public void TearDown()
{
- _outputStream?.Dispose();
- _errorStream?.Dispose();
+ _outputStream.Dispose();
+ _errorStream.Dispose();
}
[Test]
@@ -103,7 +99,7 @@ public async Task ValidateAsync_WithNoProjects_ReturnsZero()
int result = await _orchestrator.ValidateAsync(_options);
// Assert
- Assert.That(result, Is.EqualTo(0));
+ await Assert.That(result).IsEqualTo(0);
}
[Test]
@@ -122,8 +118,8 @@ public async Task ValidateAsync_WithDestinationFile_WritesToFile()
int result = await _orchestrator.ValidateAsync(_options);
// Assert
- Assert.That(result, Is.EqualTo(0));
- Assert.That(_fileSystem.File.Exists(destinationFile), Is.True);
+ await Assert.That(result).IsEqualTo(0);
+ await Assert.That(_fileSystem.File.Exists(destinationFile)).IsTrue();
}
[Test]
@@ -139,8 +135,8 @@ public async Task ValidateAsync_WithoutDestinationFile_WritesToOutputStream()
int result = await _orchestrator.ValidateAsync(_options);
// Assert
- Assert.That(result, Is.EqualTo(0));
- Assert.That(_outputStream.Length, Is.GreaterThan(0));
+ await Assert.That(result).IsEqualTo(0);
+ await Assert.That(_outputStream.Length).IsGreaterThan(0);
}
[Test]
@@ -161,12 +157,12 @@ public async Task ValidateAsync_WithExceptionInOutputFormatter_ReturnsMinusOne()
int result = await _orchestrator.ValidateAsync(_options);
// Assert
- Assert.That(result, Is.EqualTo(-1));
- Assert.That(_errorStream.Length, Is.GreaterThan(0));
+ await Assert.That(result).IsEqualTo(-1);
+ await Assert.That(_errorStream.Length).IsGreaterThan(0);
}
[Test]
- public void ValidateAsync_WithCancellationToken_CanBeCancelled()
+ public async Task ValidateAsync_WithCancellationToken_CanBeCancelled()
{
// Arrange
_options.InputFile.Returns("/test/project.csproj");
@@ -175,9 +171,13 @@ public void ValidateAsync_WithCancellationToken_CanBeCancelled()
_solutionPersistance.GetProjectsFromSolutionAsync(Arg.Any()).Returns(Task.FromResult>(Array.Empty()));
using var cancellationTokenSource = new CancellationTokenSource();
+#if NETFRAMEWORK
cancellationTokenSource.Cancel();
+#else
+ await cancellationTokenSource.CancelAsync();
+#endif
- Assert.That(_orchestrator.ValidateAsync(_options, cancellationTokenSource.Token).Wait(2000), Is.True);
+ await Assert.That(_orchestrator.ValidateAsync(_options, cancellationTokenSource.Token).Wait(2000)).IsTrue();
}
[Test]
diff --git a/tests/NuGetLicense.Test/LicenseValidator/LicenseValidationResultValueEqualityComparer.cs b/tests/NuGetLicense.Test/LicenseValidator/LicenseValidationResultValueEqualityComparer.cs
index 2faaeb16..ba7acdf3 100644
--- a/tests/NuGetLicense.Test/LicenseValidator/LicenseValidationResultValueEqualityComparer.cs
+++ b/tests/NuGetLicense.Test/LicenseValidator/LicenseValidationResultValueEqualityComparer.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using NuGetLicense.LicenseValidator;
@@ -26,14 +26,14 @@ public int GetHashCode(LicenseValidationResult obj)
obj.PackageVersion,
obj.PackageProjectUrl);
}
- private static HashCode GetHashCode(List validationErrors)
+ private static int GetHashCode(List validationErrors)
{
var code = new HashCode();
foreach (ValidationError error in validationErrors)
{
code.Add(error);
}
- return code;
+ return code.ToHashCode();
}
}
}
diff --git a/tests/NuGetLicense.Test/LicenseValidator/LicenseValidatorTest.cs b/tests/NuGetLicense.Test/LicenseValidator/LicenseValidatorTest.cs
index e2fe6484..d68887c8 100644
--- a/tests/NuGetLicense.Test/LicenseValidator/LicenseValidatorTest.cs
+++ b/tests/NuGetLicense.Test/LicenseValidator/LicenseValidatorTest.cs
@@ -1,4 +1,4 @@
-// Licensed to the projects contributors.
+// Licensed to the project contributors.
// The license conditions are provided in the LICENSE file located in the project root
using System.Collections.Immutable;
@@ -17,20 +17,19 @@
namespace NuGetLicense.Test.LicenseValidator
{
- [TestFixture]
- internal class LicenseValidatorTest
+ public class LicenseValidatorTest
{
- [SetUp]
- public void SetUp()
+ public LicenseValidatorTest()
{
- var fixture = new Fixture();
+ _fixture = new Fixture();
+ _fixture.Customizations.Add(new NuGetVersionBuilder());
_fileDownloader = Substitute.For();
_licenseMatcher = Substitute.For();
- _licenseMapping = ImmutableDictionary.CreateRange(fixture.Create>());
- _allowedLicenses = fixture.CreateMany();
- _context = fixture.Create();
- _projectUrl = fixture.Create();
- _ignoredLicenses = fixture.Create();
+ _licenseMapping = ImmutableDictionary.CreateRange(_fixture.Create>());
+ _allowedLicenses = _fixture.CreateMany();
+ _context = _fixture.Create();
+ _projectUrl = _fixture.Create();
+ _ignoredLicenses = _fixture.Create();
_token = new CancellationTokenSource();
_uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
@@ -40,28 +39,29 @@ public void SetUp()
_ignoredLicenses);
}
- [TearDown]
+ [After(HookType.Test)]
public void TearDown()
{
_token.Dispose();
}
- private NuGetLicense.LicenseValidator.LicenseValidator _uut = null!;
- private IImmutableDictionary _licenseMapping = null!;
- private IEnumerable _allowedLicenses = null!;
- private string _context = null!;
- private IFileDownloader _fileDownloader = null!;
- private Uri _projectUrl = null!;
- private string[] _ignoredLicenses = null!;
- private CancellationTokenSource _token = null!;
- private IFileLicenseMatcher _licenseMatcher = null!;
+ private readonly NuGetLicense.LicenseValidator.LicenseValidator _uut;
+ private readonly IImmutableDictionary _licenseMapping;
+ private readonly IEnumerable _allowedLicenses;
+ private readonly string _context;
+ private readonly IFileDownloader _fileDownloader;
+ private readonly Uri _projectUrl;
+ private readonly string[] _ignoredLicenses;
+ private readonly CancellationTokenSource _token;
+ private readonly IFileLicenseMatcher _licenseMatcher;
+ private readonly IFixture _fixture;
[Test]
public async Task ValidatingEmptyList_Should_ReturnEmptyValidatedLicenses()
{
IAsyncEnumerable emptyListToValidate = Enumerable.Empty().AsAsyncEnumerable();
IEnumerable results = await _uut.Validate(emptyListToValidate, _token.Token);
- Assert.That(results, Is.Empty);
+ await Assert.That(results).IsEmpty();
}
private IPackageMetadata SetupPackage(string packageId, INuGetVersion packageVersion)
@@ -119,23 +119,22 @@ private static IAsyncEnumerable CreateInput(IPacka
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicenses_Should_IgnorePackage_If_PackageNameMatchesExactly(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicenses_Should_IgnorePackage_If_PackageNameMatchesExactly()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append(packageId).ToArray());
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -147,29 +146,27 @@ public async Task ValidatingLicenses_Should_IgnorePackage_If_PackageNameMatchesE
null,
null,
LicenseInformationOrigin.Ignored)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicenses_Should_NotIgnorePackage_If_PackageNameDoesNotMatchExactly(
- string packageId,
- INuGetVersion packageVersion,
- string license)
+ public async Task ValidatingLicenses_Should_NotIgnorePackage_If_PackageNameDoesNotMatchExactly()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append(packageId.Substring(1)).ToArray());
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, license);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -181,31 +178,30 @@ public async Task ValidatingLicenses_Should_NotIgnorePackage_If_PackageNameDoesN
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 1)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 5)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), int.MaxValue)]
+ [Arguments(1)]
+ [Arguments(5)]
+ [Arguments(int.MaxValue)]
public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatches_If_WildcardMatchesStart(
- int matchedCharacters,
- string packageId,
- INuGetVersion packageVersion)
+ int matchedCharacters)
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append($"*{packageId.Substring(Math.Min(matchedCharacters, packageId.Length))}").ToArray());
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -217,31 +213,30 @@ public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatch
null,
null,
LicenseInformationOrigin.Ignored)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 0)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 1)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 5)]
+ [Arguments(0)]
+ [Arguments(1)]
+ [Arguments(5)]
public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatches_If_WildcardMatchesEnd(
- int remainingCharacters,
- string packageId,
- INuGetVersion packageVersion)
+ int remainingCharacters)
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append($"{packageId.Substring(0, remainingCharacters)}*").ToArray());
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -253,32 +248,31 @@ public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatch
null,
null,
LicenseInformationOrigin.Ignored)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 1, 2)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 1, 5)]
- [ExtendedInlineAutoData(typeof(NuGetVersionBuilder), 5, 10)]
+ [Arguments(1, 2)]
+ [Arguments(1, 5)]
+ [Arguments(5, 10)]
public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatches_If_WildcardMatchesMiddle(
int wildcardMatchStartIndex,
- int wildcardMatchEndIndex,
- string packageId,
- INuGetVersion packageVersion)
+ int wildcardMatchEndIndex)
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append($"{packageId.Substring(0, wildcardMatchStartIndex)}*{packageId.Substring(wildcardMatchEndIndex)}").ToArray());
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -290,28 +284,26 @@ public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatch
null,
null,
LicenseInformationOrigin.Ignored)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatches_If_MultipleWildcards(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatches_If_MultipleWildcards()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses.Append($"*{packageId.Substring(2, 5)}*{packageId.Substring(10, 2)}*").ToArray());
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -323,29 +315,27 @@ public async Task ValidatingLicenses_Should_IgnorePackage_If_IgnoreWildcardMatch
null,
null,
LicenseInformationOrigin.Ignored)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList(
- string packageId,
- INuGetVersion packageVersion,
- string license)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, license);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -357,20 +347,18 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList_When_Or_Expression(
- string packageId,
- INuGetVersion packageVersion,
- string license1,
- string license2)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList_When_Or_Expression()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license1 = _fixture.Create();
+ string license2 = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
@@ -379,9 +367,8 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -393,20 +380,19 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList_When_And_Expression(
- string packageId,
- INuGetVersion packageVersion,
- string license1,
- string license2)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectValidatedLicenseList_When_And_Expression()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license1 = _fixture.Create();
+ string license2 = _fixture.Create();
+
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
@@ -415,9 +401,8 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -429,20 +414,18 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpression_Should_StartDownloadingSaidLicense(
- string packageId,
- INuGetVersion packageVersion,
- string license1,
- string license2)
+ public async Task ValidatingLicensesWithExpression_Should_StartDownloadingSaidLicense()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license1 = _fixture.Create();
+ string license2 = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
@@ -451,7 +434,7 @@ public async Task ValidatingLicensesWithExpression_Should_StartDownloadingSaidLi
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
- _ = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ _ = await uut.Validate(CreateInput(package, _context), _token.Token);
await _fileDownloader.Received(1).DownloadFile(new Uri($"https://licenses.nuget.org/({expression})"),
$"{package.Identity.Id}__{package.Identity.Version}",
@@ -459,24 +442,22 @@ await _fileDownloader.Received(1).DownloadFile(new Uri($"https://licenses.nuget.
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectValidatedLicenseList(
- string packageId,
- INuGetVersion packageVersion,
- string license)
+ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectValidatedLicenseList()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithOverwriteLicenseInformation(packageId, packageVersion, license);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -488,8 +469,7 @@ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveC
null,
null,
LicenseInformationOrigin.Overwrite)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
private IPackageMetadata SetupPackageWithLicenseUrl(string packageId,
@@ -502,13 +482,12 @@ private IPackageMetadata SetupPackageWithLicenseUrl(string packageId,
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectValidatedLicenseList(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectValidatedLicenseList_WhenMatchingId()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
@@ -516,10 +495,9 @@ public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectVal
KeyValuePair mappingLicense = _licenseMapping.Shuffle(34561).First();
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, mappingLicense.Key);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -531,29 +509,26 @@ public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectVal
null,
null,
LicenseInformationOrigin.Url)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectValidatedLicenseList(
- string packageId,
- INuGetVersion packageVersion,
- Uri licenseUrl)
+ public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectValidatedLicenseList_When_MatchingUrl()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri licenseUrl = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, licenseUrl);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -565,33 +540,29 @@ public async Task ValidatingLicensesWithMatchingLicenseUrl_Should_GiveCorrectVal
null,
null,
LicenseInformationOrigin.Url)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
public async Task ValidatingLicensesWithFileLicenseMetadata_Should_GiveCorrectResult_When_Matched()
{
- var fixture = new Fixture();
- fixture.Customizations.Add(new NuGetVersionBuilder());
- string packageId = fixture.Create();
- INuGetVersion packageVersion = fixture.Create();
- string license = fixture.Create();
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
- string licenseId = fixture.Create();
+ string licenseId = _fixture.Create();
IPackageMetadata package = SetupPackageWithLicenseInformationOfType(packageId, packageVersion, license, LicenseType.File);
_licenseMatcher.Match(license).Returns(licenseId);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -604,21 +575,18 @@ public async Task ValidatingLicensesWithFileLicenseMetadata_Should_GiveCorrectRe
null,
LicenseInformationOrigin.File,
[])
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
public async Task ValidatingLicensesWithFileLicenseMetadata_Should_GiveCorrectResult_When_Not_Matched()
{
- var fixture = new Fixture();
- fixture.Customizations.Add(new NuGetVersionBuilder());
- string packageId = fixture.Create();
- INuGetVersion packageVersion = fixture.Create();
- string license = fixture.Create();
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
@@ -626,10 +594,9 @@ public async Task ValidatingLicensesWithFileLicenseMetadata_Should_GiveCorrectRe
IPackageMetadata package = SetupPackageWithLicenseInformationOfType(packageId, packageVersion, license, LicenseType.File);
_licenseMatcher.Match(license).Returns(string.Empty);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -644,28 +611,25 @@ public async Task ValidatingLicensesWithFileLicenseMetadata_Should_GiveCorrectRe
[
new ValidationError("Unable to determine license from the given license file", _context)
])
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithoutLicenseInformation_Should_GiveCorrectResult(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithoutLicenseInformation_Should_GiveCorrectResult()
{
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
- Array.Empty(),
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ [],
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackage(packageId, packageVersion);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -677,28 +641,24 @@ public async Task ValidatingLicensesWithoutLicenseInformation_Should_GiveCorrect
null,
null,
LicenseInformationOrigin.Unknown,
- new List
- {
+ [
new ValidationError("No license information found",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_If_NotAllowed(
- string packageId,
- INuGetVersion packageVersion,
- string license)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_If_NotAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, license);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -710,22 +670,19 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression,
- new List
- {
+ [
new ValidationError($"License \"{license}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithOrExpression_If_NoneAllowed(
- string packageId,
- INuGetVersion packageVersion,
- string[] licenses)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithOrExpression_If_NoneAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string[] licenses = _fixture.Create();
string expression = licenses.Length switch
{
0 => string.Empty,
@@ -737,8 +694,7 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -750,22 +706,19 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression,
- new List
- {
+ [
new ValidationError($"License \"{expression}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithAndExpression_If_OneNotAllowed(
- string packageId,
- INuGetVersion packageVersion,
- string unallowedLicense)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithAndExpression_If_OneNotAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string unallowedLicense = _fixture.Create();
string[] licenses = _allowedLicenses.Shuffle(135643).Append(unallowedLicense).ToArray();
string expression = licenses.Length switch
@@ -779,8 +732,7 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -792,28 +744,24 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression,
- new List
- {
+ [
new ValidationError($"License \"{expression}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectResult_If_NotAllowed(
- string packageId,
- INuGetVersion packageVersion,
- string license)
+ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectResult_If_NotAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string license = _fixture.Create();
IPackageMetadata package = SetupPackageWithOverwriteLicenseInformation(packageId, packageVersion, license);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -825,28 +773,24 @@ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveC
null,
null,
LicenseInformationOrigin.Overwrite,
- new List
- {
+ [
new ValidationError($"License \"{license}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_If_Allowed(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_If_Allowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
string validLicense = _allowedLicenses.Shuffle(135643).First();
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, validLicense);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -858,24 +802,21 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithOrExpression_If_OneAllowed(
- string packageId,
- INuGetVersion packageVersion,
- string unallowedLicense)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithOrExpression_If_OneAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ string unallowedLicense = _fixture.Create();
string expression = $"{_allowedLicenses.Shuffle(13563).First()} OR {unallowedLicense}";
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -887,16 +828,14 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithAndExpression_If_AllAllowed(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_GiveCorrectResult_WithAndExpression_If_AllAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
string[] licenses = _allowedLicenses.Shuffle(135643).Take(2).ToArray();
string expression = $"{licenses[0]} AND {licenses[1]}";
@@ -904,8 +843,7 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
IPackageMetadata package = SetupPackageWithExpressionLicenseInformation(packageId, packageVersion, expression);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -917,23 +855,20 @@ public async Task ValidatingLicensesWithExpressionLicenseInformation_Should_Give
null,
null,
LicenseInformationOrigin.Expression)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectResult_If_Allowed(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveCorrectResult_If_Allowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
string validLicense = _allowedLicenses.Shuffle(135643).First();
IPackageMetadata package = SetupPackageWithOverwriteLicenseInformation(packageId, packageVersion, validLicense);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -945,23 +880,20 @@ public async Task ValidatingLicensesWithOverwriteLicenseInformation_Should_GiveC
null,
null,
LicenseInformationOrigin.Overwrite)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_If_NotAllowed(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_If_NotAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
KeyValuePair urlMatch = _licenseMapping.Shuffle(765).First();
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, urlMatch.Key);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -973,21 +905,19 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrec
null,
null,
LicenseInformationOrigin.Url,
- new List
- {
- new ValidationError($"License \"{urlMatch.Value}\" not found in list of supported licenses",
+ [
+ new ValidationError(
+ $"License \"{urlMatch.Value}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithUrlInformation_Should_StartDownloadingSaidLicense(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithUrlInformation_Should_StartDownloadingSaidLicense()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
KeyValuePair urlMatch = _licenseMapping.Shuffle(4567).First();
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, urlMatch.Key);
@@ -999,11 +929,10 @@ await _fileDownloader.Received(1).DownloadFile(package.LicenseUrl!,
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithGithubWebUiUrl_Should_StartDownloadingLicenseAsRaw(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithGithubWebUiUrl_Should_StartDownloadingLicenseAsRaw()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
string ghUrl = "https://github.com/dotnet/corefx/blob/master/LICENSE.TXT";
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, new Uri(ghUrl));
@@ -1015,41 +944,37 @@ await _fileDownloader.Received(1).DownloadFile(new Uri(ghUrl + "?raw=true"),
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public void ValidatingLicensesWithUrlInformation_Should_ThrowLicenseDownloadInformation_If_DownloadThrows(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithUrlInformation_Should_ThrowLicenseDownloadInformation_If_DownloadThrows()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
KeyValuePair urlMatch = _licenseMapping.Shuffle(12345).First();
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, urlMatch.Key);
_fileDownloader.When(m => m.DownloadFile(package.LicenseUrl!, Arg.Any(), Arg.Any()))
.Do(_ => throw new Exception());
- LicenseDownloadException? exception =
- Assert.ThrowsAsync(() => _uut.Validate(CreateInput(package, _context), _token.Token));
- Assert.That(exception!.InnerException, Is.InstanceOf());
- Assert.That(exception.Message,
- Is.EqualTo($"Failed to download license for package {packageId} ({packageVersion}) from url: {urlMatch.Key}.\nContext: {_context}"));
+ LicenseDownloadException? exception = await Assert.That(async () => await _uut.Validate(CreateInput(package, _context), _token.Token))
+ .ThrowsExactly();
+ await Assert.That(exception!.InnerException).IsTypeOf();
+ await Assert.That(exception.Message).IsEqualTo($"Failed to download license for package {packageId} ({packageVersion}) from url: {urlMatch.Key}.\nContext: {_context}");
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_If_Allowed(
- string packageId,
- INuGetVersion packageVersion)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_If_Allowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
KeyValuePair urlMatch = _licenseMapping.Shuffle(43562).First();
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping,
_allowedLicenses.Append(urlMatch.Value),
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, urlMatch.Key);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1061,23 +986,20 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrec
null,
null,
LicenseInformationOrigin.Url)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithNotMatchingUrlInformation_Should_GiveCorrectResult_If_NotAllowed(
- string packageId,
- INuGetVersion packageVersion,
- Uri licenseUrl)
+ public async Task ValidatingLicensesWithNotMatchingUrlInformation_Should_GiveCorrectResult_If_NotAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri licenseUrl = _fixture.Create();
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, licenseUrl);
IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1089,36 +1011,32 @@ public async Task ValidatingLicensesWithNotMatchingUrlInformation_Should_GiveCor
null,
null,
LicenseInformationOrigin.Url,
- new List
- {
+ [
new ValidationError($"Cannot determine License type for url {licenseUrl}",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_WithOrExpression_If_OneAllowed(
- string packageId,
- INuGetVersion packageVersion,
- Uri orLicenseUri,
- string firstLicense,
- string secondLicense)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_WithOrExpression_If_OneAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri orLicenseUri = _fixture.Create();
+ string firstLicense = _fixture.Create();
+ string secondLicense = _fixture.Create();
string licenseExpression = $"{firstLicense} OR {secondLicense}";
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
_allowedLicenses.Append(firstLicense),
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, orLicenseUri);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1130,31 +1048,28 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrec
null,
null,
LicenseInformationOrigin.Url)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_WithAndExpression_If_AllAllowed(
- string packageId,
- INuGetVersion packageVersion,
- Uri orLicenseUri,
- string firstLicense,
- string secondLicense)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrectResult_WithAndExpression_If_AllAllowed()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri orLicenseUri = _fixture.Create();
+ string firstLicense = _fixture.Create();
+ string secondLicense = _fixture.Create();
string licenseExpression = $"{firstLicense} AND {secondLicense}";
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
_allowedLicenses.Append(firstLicense).Append(secondLicense),
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, orLicenseUri);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1166,30 +1081,27 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_GiveCorrec
null,
null,
LicenseInformationOrigin.Url)
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_None_Is_Not_Supported(
- string packageId,
- INuGetVersion packageVersion,
- Uri orLicenseUri,
- string firstLicense,
- string secondLicense)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_None_Is_Not_Supported()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri orLicenseUri = _fixture.Create();
+ string firstLicense = _fixture.Create();
+ string secondLicense = _fixture.Create();
string licenseExpression = $"{firstLicense} OR {secondLicense}";
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
_allowedLicenses,
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, orLicenseUri);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1201,36 +1113,33 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_Val
null,
null,
LicenseInformationOrigin.Url,
- new List
- {
- new ValidationError($"License \"{licenseExpression}\" not found in list of supported licenses",
+ [
+ new ValidationError(
+ $"License \"{licenseExpression}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_Second_Is_Not_Supported(
- string packageId,
- INuGetVersion packageVersion,
- Uri orLicenseUri,
- string firstLicense,
- string secondLicense)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_Second_Is_Not_Supported()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create();
+ Uri orLicenseUri = _fixture.Create();
+ string firstLicense = _fixture.Create();
+ string secondLicense = _fixture.Create();
string licenseExpression = $"{firstLicense} AND {secondLicense}";
- _uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
+ var uut = new NuGetLicense.LicenseValidator.LicenseValidator(_licenseMapping.Add(orLicenseUri, licenseExpression),
_allowedLicenses.Append(firstLicense),
_fileDownloader,
_licenseMatcher,
_ignoredLicenses);
IPackageMetadata package = SetupPackageWithLicenseUrl(packageId, packageVersion, orLicenseUri);
- IEnumerable result = await _uut.Validate(CreateInput(package, _context), _token.Token);
+ IEnumerable result = await uut.Validate(CreateInput(package, _context), _token.Token);
- Assert.That(result,
- Is.EquivalentTo(
+ await Assert.That(result).IsEquivalentTo(
[
new LicenseValidationResult(packageId,
packageVersion,
@@ -1242,36 +1151,33 @@ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_Val
null,
null,
LicenseInformationOrigin.Url,
- new List
- {
- new ValidationError($"License \"{licenseExpression}\" not found in list of supported licenses",
+ [
+ new ValidationError(
+ $"License \"{licenseExpression}\" not found in list of supported licenses",
_context)
- })
- ])
- .Using(new LicenseValidationResultValueEqualityComparer()));
+ ])
+ ]).Using(new LicenseValidationResultValueEqualityComparer());
}
[Test]
- [ExtendedAutoData(typeof(NuGetVersionBuilder))]
- public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_First_Is_Not_Supported(
- string packageId,
- INuGetVersion packageVersion,
- Uri orLicenseUri,
- string firstLicense,
- string secondLicense)
+ public async Task ValidatingLicensesWithMatchingUrlInformation_Should_Create_ValidationError_If_First_Is_Not_Supported()
{
+ string packageId = _fixture.Create();
+ INuGetVersion packageVersion = _fixture.Create