devlooped / nugetizer

A simple to understand packing model for authoring NuGet packages
https://clarius.org/nugetizer/
MIT License
258 stars 7 forks source link

Additional fix for --no-build in pack with transitive references #511

Closed kzu closed 2 months ago

kzu commented 2 months ago

Turns out that the .NET SDK lifts transitive project references as direct references (without any additional metadata), and this causes the second-level dependency from being built unexpectedly (see https://github.com/dotnet/sdk/pull/478 and https://github.com/dotnet/project-system/issues/199).

Since we don't want to disrupt the IDE (BuildingInsideVisualStudio) and we only want to fix this for the very specific case of running from the CLI dotnet pack --no-build, we make the fix very constrained for that scenario. We check for NoBuild but ALSO for _IsPacking, which is passed by the dotnet pack command.

This ensures minimal impact in all other scenarios, since we're essentially turning off a built-in behavior in the SDK that has explicit side-effects (by design and desirable) and we should preserve.

Fixes #501

devlooped-bot commented 2 months ago

296 passed 296 passed 1 skipped

:test_tube: Details on Microsoft Windows 10.0.20348 :white_check_mark: NuGetizer.AssignPackagePathTests.assigned_files_contains_all_files :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_then_applies_tfm_and_language(tfm: ".NETFramework,Version=v4.7.2", lang: "", expectedPath: "contentFiles/any/net472/") :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_then_applies_tfm_and_language(tfm: ".NETFramework,Version=v4.7.2", lang: "cs", expectedPath: "contentFiles/cs/net472/") :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_then_applies_tfm_and_language(tfm: "", lang: "", expectedPath: "contentFiles/any/any/") :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_then_applies_tfm_and_language(tfm: "", lang: "vb", expectedPath: "contentFiles/vb/any/") :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_with_additional_metadata_then_preserves_metadata :white_check_mark: NuGetizer.AssignPackagePathTests.when_assigning_content_file_with_reserved_dir_then_fails :white_check_mark: NuGetizer.AssignPackagePathTests.when_content_file_has_link_then_package_path_is_relative_to_link :white_check_mark: NuGetizer.AssignPackagePathTests.when_content_is_not_framework_specific_then_has_any_lang_and_tfm :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_explicit_package_path_then_calculated_package_folder_is_empty_and_preserves_package_path :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_inferred_folder_from_kind_then_assigned_file_contains_inferred_package_folder(packageFileKind: "Build", inferredPackageFolder: "build") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_inferred_folder_from_kind_then_assigned_file_contains_inferred_package_folder(packageFileKind: "Runtimes", inferredPackageFolder: "runtimes") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_inferred_folder_from_kind_then_assigned_file_contains_inferred_package_folder(packageFileKind: "Workbook", inferredPackageFolder: "workbook") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Analyzer", mappedPackageFolder: "analyzers", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Analyzers", mappedPackageFolder: "analyzers", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Build", mappedPackageFolder: "build", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "BuildTransitive", mappedPackageFolder: "buildTransitive", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Lib", mappedPackageFolder: "lib", frameworkSpecific: "true") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Native", mappedPackageFolder: "native", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Ref", mappedPackageFolder: "ref", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Runtime", mappedPackageFolder: "runtimes", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Runtimes", mappedPackageFolder: "runtimes", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_then_assigned_file_contains_mapped_package_folder(packageFileKind: "Source", mappedPackageFolder: "source", frameworkSpecific: "false") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_with_no_package_folder_then_package_path_is_empty(packageFileKind: "Dependency") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_with_no_package_folder_then_package_path_is_empty(packageFileKind: "FrameworkReference") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_known_kind_with_no_package_folder_then_package_path_is_empty(packageFileKind: "Metadata") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_kind_and_no_framework_specific_then_it_is_not_assigned_target_framework :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_kind_and_package_path_and_framework_specific_then_it_is_assigned_target_framework_only :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_kind_then_logs_error_code :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_package_id_but_is_packaging_true_then_package_path_is_specified :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_package_id_then_package_folder_is_calculated_anyway :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_package_id_then_package_path_is_not_specified :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_package_id_then_target_framework_is_calculated_anyway :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_no_tfm_then_assigned_file_contains_no_target_framework :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_none_kind_then_assigned_file_has_empty_package_folder_and_relative_package_path :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_none_kind_then_assigned_file_has_no_target_framework_in_package_path :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_none_kind_with_target_path_then_assigned_file_has_empty_package_folder_with_relative_package_path :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_relative_target_path_without_non_framework_specific_then_package_path_has_relative_path :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_target_framework_and_tfm_then_existing_value_is_preserved :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_tfm_then_assigned_file_contains_target_framework(targetFrameworkMoniker: ".NETFramework,Version=v4.7.2", expectedTargetFramework: "net472") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_tfm_then_assigned_file_contains_target_framework(targetFrameworkMoniker: ".NETPortable,Version=v5.0", expectedTargetFramework: "portable50") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_tfm_then_assigned_file_contains_target_framework(targetFrameworkMoniker: "MonoAndroid,Version=v2.5", expectedTargetFramework: "monoandroid25") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_has_tfm_then_assigned_file_contains_target_framework(targetFrameworkMoniker: "Xamarin.iOS,Version=v1.0", expectedTargetFramework: "xamarinios10") :white_check_mark: NuGetizer.AssignPackagePathTests.when_file_is_not_framework_specific_then_it_is_not_assigned_target_framework :white_check_mark: NuGetizer.AssignPackagePathTests.when_lib_has_framework_specific_false_then_package_path_does_not_have_target_framework :white_check_mark: NuGetizer.AssignPackagePathTests.when_none_file_has_link_then_package_path_is_relative_to_link :white_check_mark: NuGetizer.AssignPackagePathTests.when_package_file_has_directory_package_path_and_link_then_appends_linked_file :white_check_mark: NuGetizer.AssignPackagePathTests.when_package_file_has_directory_package_path_and_relative_dir_then_appends_relative_path_file_and_extension :white_check_mark: NuGetizer.AssignPackagePathTests.when_package_file_has_directory_package_path_then_appends_file_and_extension :white_check_mark: NuGetizer.AssignPackagePathTests.when_packing_tool_then_it_is_framework_specific_and_any :white_check_mark: NuGetizer.AssignPackagePathTests.when_tool_has_relative_target_path_with_framework_specific_true_then_package_path_has_relative_path_with_target_framework :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_has_development_dependency_metadata_then_manifest_has_development_dependency :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_has_license_expression_then_manifest_has_license :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_has_license_file_then_manifest_has_license :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_then_contains_all_metadata :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_any_framework_specific_dependency_then_contains_generic_dependency_group :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_content_file_build_action_then_adds_as_content_file :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_content_file_copy_to_output_then_adds_as_content_file :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_content_file_flatten_then_adds_as_content_file :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_content_file_then_adds_as_content_file :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_and_exclude_assets_then_contains_dependency_exclude_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_and_include_assets_then_contains_dependency_include_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_and_without_exclude_assets_then_not_contains_dependency_exclude_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_and_without_include_assets_then_not_contains_dependency_include_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_packexclude_assets_then_contains_dependency_exclude_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_dependency_packinclude_then_contains_dependency_include_attribute :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_development_dependency_then_does_not_generate_dependency_group :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_duplicate_framework_references_then_contains_only_unique_references :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_empty_dependency_groups_then_succeeds :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_file_then_contains_file :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_framework_reference_then_contains_references :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_multiple_package_types :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_multiple_target_frameworks_generates_empty_dependency_groups :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_non_framework_secific_dependency_then_contains_generic_dependency_group :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_package_type_empty :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_package_type_version :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_readme_then_has_readme_metadata :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_readme_then_resolves_includes :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_referenced_package_project_then_contains_package_dependency :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_with_simple_dependency_then_contains_dependency_group :white_check_mark: NuGetizer.CreatePackageTests.when_creating_package_without_package_type :white_check_mark: NuGetizer.CreatePackageTests.when_output_path_not_exists_then_creates_it :white_check_mark: NuGetizer.given_a_complex_pack.when_getting_package_target_path_then_gets_package_metadata :white_check_mark: NuGetizer.given_a_complex_pack.when_pack_with_emit_nuspec_but_not_package_then_creates_nuspec_but_not_package :white_check_mark: NuGetizer.given_a_complex_pack.when_pack_with_emit_package_but_not_nuspec_then_creates_package_but_not_nuspec :white_check_mark: NuGetizer.given_a_complex_pack.when_packing_a_then_contains_assemblies_and_direct_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_packing_b_then_contains_assemblies_and_direct_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_packing_c_then_contains_external_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_packing_d_without_package_id_then_target_is_skipped :white_check_mark: NuGetizer.given_a_complex_pack.when_preparing_a_then_contains_assemblies_and_direct_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_preparing_b_then_contains_assemblies_and_direct_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_preparing_c_then_contains_external_dependency :white_check_mark: NuGetizer.given_a_complex_pack.when_preparing_d_without_package_id_then_does_not_set_package_path :white_check_mark: NuGetizer.given_a_custom_build_project.when_packing_then_can_include_content :white_check_mark: NuGetizer.given_a_framework_library.when_getting_package_contents_then_includes_framework_references_by_default :white_check_mark: NuGetizer.given_a_framework_library.when_include_outputs_in_package_is_false_then_does_not_include_main_assembly :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_include_false_is_not_included :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_include_true_is_included_as_lib :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_is_included_as_lib :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_relative_is_included_as_relative_lib :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_relative_kind_is_included_as_relative_kind :white_check_mark: NuGetizer.given_a_library_with_content.content_copy_with_kind_is_included_as_kind :white_check_mark: NuGetizer.given_a_library_with_content.content_include_false_is_not_included :white_check_mark: NuGetizer.given_a_library_with_content.content_include_true_is_content_files_anylang_tfm_specific :white_check_mark: NuGetizer.given_a_library_with_content.content_include_true_is_included_even_if_global_include_contents_is_false :white_check_mark: NuGetizer.given_a_library_with_content.content_is_content_files_anylang_tfm_specific :white_check_mark: NuGetizer.given_a_library_with_content.content_no_copy_is_content_files_anylang_tfm_specific :white_check_mark: NuGetizer.given_a_library_with_content.content_no_copy_is_included_from_source :white_check_mark: NuGetizer.given_a_library_with_content.content_no_copy_with_contentFiles_dir_fails :white_check_mark: NuGetizer.given_a_library_with_content.content_no_copy_with_relativedir_can_specify_lang_tfm_metadata :white_check_mark: NuGetizer.given_a_library_with_content.content_with_kind_is_included_as_kind :white_check_mark: NuGetizer.given_a_library_with_content.content_with_package_path_is_included_even_with_pack_content_false :white_check_mark: NuGetizer.given_a_library_with_content.content_with_target_path_is_included_relative_to_pack_folder :white_check_mark: NuGetizer.given_a_library_with_content.has_inferred_readme :white_check_mark: NuGetizer.given_a_library_with_content.linked_package_file_has_relative_package_path :white_check_mark: NuGetizer.given_a_library_with_content.non_include_false_is_not_included :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_include_false_is_not_included :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_include_true_is_included_as_lib :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_is_included_as_lib :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_relative_is_included_as_relative_lib :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_relative_kind_is_included_as_relative_kind :white_check_mark: NuGetizer.given_a_library_with_content.none_copy_with_kind_is_included_as_kind :white_check_mark: NuGetizer.given_a_library_with_content.none_include_true_is_included_as_none :white_check_mark: NuGetizer.given_a_library_with_content.none_include_true_is_included_even_if_global_include_none_is_false :white_check_mark: NuGetizer.given_a_library_with_content.none_no_copy_is_not_included :white_check_mark: NuGetizer.given_a_library_with_content.none_no_copy_is_specified_relative_path :white_check_mark: NuGetizer.given_a_library_with_content.none_no_kind_is_included__as_none :white_check_mark: NuGetizer.given_a_library_with_content.none_with_kind_is_included_as_kind :white_check_mark: NuGetizer.given_a_library_with_content.none_with_kind_is_included_from_source :white_check_mark: NuGetizer.given_a_library_with_content.none_with_package_path_is_included_by_default :white_check_mark: NuGetizer.given_a_library_with_content.none_with_package_path_is_included_even_with_pack_none_false :white_check_mark: NuGetizer.given_a_library_with_content.when_global_include_content_is_false_then_does_not_contain_content_files :white_check_mark: NuGetizer.given_a_library_with_content.when_global_include_none_is_false_then_does_not_contain_none_copy_files :white_check_mark: NuGetizer.given_a_library_with_content.when_library_is_not_packable_then_still_contains_content_files :white_check_mark: NuGetizer.given_a_library_with_content.when_removing_inferred_package_file_from_content_then_content_is_not_included :white_check_mark: NuGetizer.given_a_library_with_non_nugetized_reference.when_getting_contents_then_fails :white_check_mark: NuGetizer.given_a_library_with_non_nugetized_reference.when_include_in_package_false_then_does_not_fail :white_check_mark: NuGetizer.given_a_library_with_private_assets_reference.when_getting_package_contents_then_contains_dependency_for_non_private_assets_reference :white_check_mark: NuGetizer.given_a_library_with_private_assets_reference.when_getting_package_contents_then_contains_private_assets_as_primary_output :white_check_mark: NuGetizer.given_a_library_with_private_assets_reference.when_getting_package_contents_then_contains_private_lib_assets_as_primary_output_and_also_package_reference :white_check_mark: NuGetizer.given_a_library_with_project_reference.when_getting_package_contents_then_retrieves_main_assembly_transitively :white_check_mark: NuGetizer.given_a_library_with_project_reference.when_getting_package_contents_then_retrieves_symbols_transitively :white_check_mark: NuGetizer.given_a_library_with_project_reference.when_include_in_package_false_then_does_not_include_referenced_project_outputs :white_check_mark: NuGetizer.given_a_library_with_project_reference.when_include_outputs_in_package_false_then_can_include_referenced_project_outputs :white_check_mark: NuGetizer.given_a_library_with_project_reference.when_include_outputs_in_package_false_then_can_include_referenced_projects_outputs :grey_question: NuGetizer.given_a_library_with_project_reference.when_pack_no_build_then_does_not_fail => Doesn't work running from test, but does from CLI :( :white_check_mark: NuGetizer.given_a_library.when_pack_compile_then_excludes_generated_files :white_check_mark: NuGetizer.given_a_library.when_pack_excludes_additional_items_then_contains_only_matching_files :white_check_mark: NuGetizer.given_a_localized_library.when_getting_package_contents_then_contains_localized_resources :white_check_mark: NuGetizer.given_a_multi_platform_solution.then_includes_direct_dependency_from_platforms :white_check_mark: NuGetizer.given_a_multi_platform_solution.then_includes_platform_and_language_quickstart_content :white_check_mark: NuGetizer.given_a_multi_platform_solution.then_includes_platform_docs_from_before_get_package_contents :white_check_mark: NuGetizer.given_a_multi_platform_solution.then_includes_primary_output_from_platforms :white_check_mark: NuGetizer.given_a_multitargeting_library.when_customizing_item_definition_then_adds_package_metadata :white_check_mark: NuGetizer.given_a_multitargeting_library.when_customizing_item_then_adds_package_metadata :white_check_mark: NuGetizer.given_a_multitargeting_library.when_getting_target_path_then_includes_all_frameworks :white_check_mark: NuGetizer.given_a_multitargeting_library.when_gettingcontents_then_includes_content_from_all_frameworks :white_check_mark: NuGetizer.given_a_multitargeting_library.when_gettingcontents_then_includes_single_metadata :white_check_mark: NuGetizer.given_a_multitargeting_library.when_packing_then_succeeds :white_check_mark: NuGetizer.given_a_notargets_sdk_project.cam_be_referenced :white_check_mark: NuGetizer.given_a_notargets_sdk_project.cam_reference_packaging_project :white_check_mark: NuGetizer.given_a_packaging_project_with_netstandard.can_get_content_from_referenced_cross_targeting_netstandard :white_check_mark: NuGetizer.given_a_packaging_project_with_netstandard.can_get_content_from_referenced_single_targeting_netstandard :white_check_mark: NuGetizer.given_a_packaging_project.when_framework_specific_then_retargets_direct_and_referenced_content :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_from_packaging_project_then_referenced_outputs_have_original_tfm_path :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_can_augment_package_metadata :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_does_not_include_referenced_project_nuget_assembly_reference :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_packagable_project_as_dependency :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_dependencies :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_dependency_satellite_assembly :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_outputs :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_satellite_assembly :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_transitive_content_can_opt_out_of_full_path :white_check_mark: NuGetizer.given_a_packaging_project.when_getting_contents_then_transitive_content_is_made_full_path :white_check_mark: NuGetizer.given_a_packaging_project.when_multiple_readmes_found_then_adds_metadata_and_content_for_root :white_check_mark: NuGetizer.given_a_packaging_project.when_pack_folder_build_then_none_packs_as_build :white_check_mark: NuGetizer.given_a_packaging_project.when_packing_then_succeeeds :white_check_mark: NuGetizer.given_a_packaging_project.when_project_reference_packfolder_additional_properties_then_overrides_project_pack_folder :white_check_mark: NuGetizer.given_a_packaging_project.when_project_reference_packfolder_then_overrides_project_pack_folder :white_check_mark: NuGetizer.given_a_packaging_project.when_readme_custom_extension_specified_then_adds_metadata_and_content :white_check_mark: NuGetizer.given_a_packaging_project.when_readme_found_but_pack_readme_false_then_does_not_add_it :white_check_mark: NuGetizer.given_a_packaging_project.when_readme_found_but_project_not_packable_then_does_not_add_content :white_check_mark: NuGetizer.given_a_packaging_project.when_readme_found_then_adds_metadata_and_content :white_check_mark: NuGetizer.given_a_packaging_project.when_referenced_project_has_packfolder_then_preserves_it :white_check_mark: NuGetizer.given_a_tool_project.when_both_PackAsTool_and_PackAsPublish_true_then_fails :white_check_mark: NuGetizer.given_a_tool_project.when_pack_as_tool_then_packs_dotnet_tool_runtime_assets :white_check_mark: NuGetizer.given_a_tool_project.when_pack_as_tool_then_packs_no_dependencies :white_check_mark: NuGetizer.given_a_tool_project.when_pack_folder_tool_but_no_pack_as_tool_then_packs_dependencies_normally :white_check_mark: NuGetizer.given_a_tool_project.when_pack_folder_tool_no_pack_as_tool_and_executable_then_packs_as_publish_with_no_dependencies :white_check_mark: NuGetizer.given_a_tool_project.when_toolcommand_then_packs_as_tool_with_no_dependencies :white_check_mark: NuGetizer.given_duplicate_package_files.exact_duplicates_are_removed :white_check_mark: NuGetizer.given_duplicate_package_files.real_duplicates_fail :white_check_mark: NuGetizer.given_duplicate_package_files.same_source_different_target_are_preserved :white_check_mark: NuGetizer.given_multitargeting_libraries.when_getting_content_then_multitargets :white_check_mark: NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "common.csproj") :white_check_mark: NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "uilibrary.csproj") :white_check_mark: NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "uishared.csproj") :white_check_mark: NuGetizer.given_packagereferences.when_build_kind_and_explicit_pack_then_packs_msbuild :white_check_mark: NuGetizer.given_packagereferences.when_build_kind_then_does_not_pack_msbuild :white_check_mark: NuGetizer.given_packagereferences.when_centrally_managed_version_private_assets_then_adds_versioned_private_assets :white_check_mark: NuGetizer.given_packagereferences.when_centrally_managed_version_then_adds_versioned_dependency :white_check_mark: NuGetizer.given_packagereferences.when_pack_dependencies_false_then_does_not_pack :white_check_mark: NuGetizer.given_packagereferences.when_privateassets_all_and_pack_false_then_does_not_pack_transitively :white_check_mark: NuGetizer.given_packagereferences.when_privateassets_all_then_packs_library :white_check_mark: NuGetizer.given_packagereferences.when_privateassets_all_then_packs_transitive_libraries :white_check_mark: NuGetizer.given_packagereferences.when_privateassets_pack_false_then_does_not_pack :white_check_mark: NuGetizer.given_packagereferences.when_SuppressDependenciesWhenPacking_then_does_not_pack :white_check_mark: NuGetizer.given_packagereferences.when_SuppressDependenciesWhenPackingFalse_then_packs :white_check_mark: NuGetizer.given_packinference.check_compile_pack_default :white_check_mark: NuGetizer.given_packinference.check_content_pack_default :white_check_mark: NuGetizer.given_packinference.check_embeddedresource_pack_default :white_check_mark: NuGetizer.given_packinference.check_none_pack_default :white_check_mark: NuGetizer.given_packinference.when_adding_new_inference_then_can_change_defaults :white_check_mark: NuGetizer.given_packinference.when_content_has_buildaction_then_spec_has_attribute :white_check_mark: NuGetizer.given_packinference.when_content_has_CodeLanguage_and_CodeLanguage_then_sets_subpath :white_check_mark: NuGetizer.given_packinference.when_content_has_CodeLanguage_and_TargetFramework_then_sets_subpath :white_check_mark: NuGetizer.given_packinference.when_content_has_CodeLanguage_then_sets_subpath :white_check_mark: NuGetizer.given_packinference.when_content_has_copytooutput_flatten_then_spec_has_attributes :white_check_mark: NuGetizer.given_packinference.when_content_has_copytooutput_then_spec_has_attribute :white_check_mark: NuGetizer.given_packinference.when_direct_and_indirect_packagereference_then_packs_once :white_check_mark: NuGetizer.given_packinference.when_none_has_Kind_FrameworkSpecific_then_packs :white_check_mark: NuGetizer.given_packinference.when_none_has_Kind_then_packs :white_check_mark: NuGetizer.given_packinference.when_none_has_PackagePath_then_packs :white_check_mark: NuGetizer.given_packinference.when_PackCompile_true_and_TargetFramework_then_can_change_framework_folder :white_check_mark: NuGetizer.given_packinference.when_PackCompile_true_then_includes_compile_with_CodeLanguage_matching_project_language :white_check_mark: NuGetizer.given_packinference.when_PackContent_false_but_content_has_Kind_then_packs :white_check_mark: NuGetizer.given_packinference.when_PackContent_false_but_content_has_Pack_then_packs :white_check_mark: NuGetizer.given_packinference.when_PackContent_false_but_content_has_PackagePath_then_packs :white_check_mark: NuGetizer.given_packinference.when_packing_dependencies_then_includes_satellite_resources_for_private_assets :white_check_mark: NuGetizer.given_packinference.when_packing_dependencies_then_resolves_wildcard :white_check_mark: NuGetizer.given_packinference.when_updating_inference_then_can_exclude_by_wildcard :white_check_mark: NuGetizer.given_projectreferences.when_build_pack_folder_and_explicit_pack_then_packs_msbuild :white_check_mark: NuGetizer.given_projectreferences.when_build_pack_folder_then_does_not_pack_msbuild :white_check_mark: NuGetizer.given_projectreferences.when_privateassets_all_and_pack_false_then_does_not_pack_transitively :white_check_mark: NuGetizer.given_projectreferences.when_privateassets_all_then_packs_library :white_check_mark: NuGetizer.given_projectreferences.when_privateassets_all_then_packs_transitive_libraries :white_check_mark: NuGetizer.given_projectreferences.when_privateassets_on_explicit_PackFolder_then_packs_library :white_check_mark: NuGetizer.given_projectreferences.when_privateassets_pack_false_then_does_not_pack :white_check_mark: NuGetizer.given_sourcelink.when_getting_metadata_then_adds_repository_info :white_check_mark: NuGetizer.given_sourcelink.when_getting_metadata_with_no_explicit_publish_repo_url_then_does_not_expose_it :white_check_mark: NuGetizer.given_sourcelink.when_no_project_url_and_publish_repository_url_then_defaults_to_repository_url :white_check_mark: NuGetizer.given_sourcelink.when_project_url_and_publish_repository_url_then_preserves_value :white_check_mark: NuGetizer.given_transitive_projects.when_pack_no_build_then_succeeds :white_check_mark: NuGetizer.IncludesResolverTests.ResolveIncludes :white_check_mark: NuGetizer.IncludesResolverTests.ResolveNonExistingInclude :white_check_mark: NuGetizer.IncludesResolverTests.ResolveUrlInclude :white_check_mark: NuGetizer.InferImplicitPackageReferenceTests.when_file_has_no_kind_then_logs_error_code :white_check_mark: NuGetizer.InlineProjectTests.when_dependency_is_development_dependency_then_can_explicitly_pack_it :white_check_mark: NuGetizer.InlineProjectTests.when_development_dependency_then_package_has_development_dependency_metadata :white_check_mark: NuGetizer.InlineProjectTests.when_generate_package_on_build_multitargeting_then_contains_all_targets :white_check_mark: NuGetizer.InlineProjectTests.when_getting_package_contents_then_annotates_items_with_package_id :white_check_mark: NuGetizer.InlineProjectTests.when_getting_package_contents_then_includes_framework_reference :white_check_mark: NuGetizer.InlineProjectTests.when_getting_package_contents_then_includes_output_assembly :white_check_mark: NuGetizer.InlineProjectTests.when_getting_package_contents_then_includes_symbols :white_check_mark: NuGetizer.InlineProjectTests.when_getting_package_contents_then_includes_xmldoc :white_check_mark: NuGetizer.InlineProjectTests.when_include_framework_references_in_package_is_false_then_does_not_include_framework_reference :white_check_mark: NuGetizer.InlineProjectTests.when_include_output_in_package_is_false_then_does_not_include_xmldoc :white_check_mark: NuGetizer.InlineProjectTests.when_include_outputs_in_package_is_false_then_does_not_include_main_assembly :white_check_mark: NuGetizer.InlineProjectTests.when_include_symbols_in_package_is_false_then_does_not_include_symbols :white_check_mark: NuGetizer.InlineProjectTests.when_include_symbols_in_package_is_true_but_include_outputs_is_false_then_does_not_include_symbols :white_check_mark: NuGetizer.InlineProjectTests.when_is_packable_true_but_packageid_reset_to_empty_then_fails :white_check_mark: NuGetizer.InlineProjectTests.when_is_packable_true_then_package_id_defaults_to_assembly_name :white_check_mark: NuGetizer.InlineProjectTests.when_multi_targeting_packing_transitive_dependency_then_retargets_to_main_project :white_check_mark: NuGetizer.InlineProjectTests.when_no_is_packable_and_no_package_id_then_defaults_to_non_packable :white_check_mark: NuGetizer.InlineProjectTests.when_pack_on_build_multitargeting_then_contains_all_targets :white_check_mark: NuGetizer.InlineProjectTests.when_package_icon_content_then_packs_icon_and_not_content :white_check_mark: NuGetizer.InlineProjectTests.when_package_icon_default_then_packs_icon :white_check_mark: NuGetizer.InlineProjectTests.when_package_icon_linked_content_then_packs_link :white_check_mark: NuGetizer.InlineProjectTests.when_package_icon_relative_folder_default_then_packs_icon :white_check_mark: NuGetizer.InlineProjectTests.when_package_reference_has_metadata_then_inferred_package_references_has_same_metadata :white_check_mark: NuGetizer.InlineProjectTests.when_packagepath_ends_in_path_then_packs_basedir_dir :white_check_mark: NuGetizer.InlineProjectTests.when_packagepath_ends_in_path_then_packs_recursive_dir :white_check_mark: NuGetizer.InlineProjectTests.when_packing_dependencies_then_can_include_exclude_assets :white_check_mark: NuGetizer.InlineProjectTests.when_packing_dependencies_then_defaults_to_no_packinclude_nor_packexclude :white_check_mark: NuGetizer.InlineProjectTests.when_packing_none_with_packagereference_then_can_change_package_path :white_check_mark: NuGetizer.InlineProjectTests.when_packing_none_with_packagereference_then_includes_it :white_check_mark: NuGetizer.InlineProjectTests.when_packing_private_dependency_then_can_opt_out_of_transitive :white_check_mark: NuGetizer.InlineProjectTests.when_packing_private_transive_reference_then_packs_lib :white_check_mark: NuGetizer.InlineProjectTests.when_packing_transitive_dependency_then_retargets_to_main_project :white_check_mark: NuGetizer.InlineProjectTests.when_packing_with_refs_then_includes_runtime_libs_for_private :white_check_mark: NuGetizer.InlineProjectTests.when_private_assets_then_packs_transitively :white_check_mark: NuGetizer.InlineProjectTests.when_referencing_package_reference_file_then_can_use_inference_items :white_check_mark: NuGetizer.InlineProjectTests.when_referencing_package_reference_file_then_it_requires_generate_path_property :white_check_mark: NuGetizer.InlineProjectTests.when_referencing_package_reference_file_then_resolves_to_package_path :white_check_mark: NuGetizer.InlineProjectTests.when_setting_metadata_property_then_updates_metadata :white_check_mark: NuGetizer.InlineProjectTests.when_updating_package_item_metadata_then_updates_metadata :white_check_mark: NuGetizer.InlineProjectTests.when_updating_package_metadata_via_target_then_updates_metadata :white_check_mark: NuGetizer.InlineProjectTests.when_validating_package_then_succeeds :white_check_mark: NuGetizer.TargetsTests.package_contents_never_includes_nugetizer_package_reference :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_not_true_for_build_primary_output :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_not_true_for_compat_istool :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_not_true_for_tool_primary_output :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_not_true_for_tools_primary_output :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_true_for_default_primary_output_kind :white_check_mark: NuGetizer.TargetsTests.PackFrameworkReferences_is_true_for_primary_output_lib :white_check_mark: NuGetizer.TargetsTests.PackOnBuild_defaults_to_true_for_compat_GeneratePackageOnBuild_true :white_check_mark: NuGetizer.UtilitiesTests.when_default_target_framework_has_platform_then_uses_target_platform

from dotnet-retest v0.6.1 on .NET 8.0.7 with :purple_heart: