Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: devlooped/nugetizer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.7.6
Choose a base ref
...
head repository: devlooped/nugetizer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.8.0-beta
Choose a head ref
  • 13 commits
  • 24 files changed
  • 2 contributors

Commits on May 26, 2022

  1. 🖉 Update changelog with v0.7.6

    github-actions committed May 26, 2022
    Configuration menu
    Copy the full SHA
    1d57079 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8194d42 View commit details
    Browse the repository at this point in the history
  3. Add support for buildTransitive pack folder kind

    This makes the `PackFolder=buildTransitive` behave as if it were `build`, which makes the most sense.
    
    Partially fixes #139
    Fixes #179
    kzu committed May 26, 2022
    Configuration menu
    Copy the full SHA
    ed703d2 View commit details
    Browse the repository at this point in the history
  4. Be smarter about PackFolder on project references

    Whenever we had `PrivateAssets=all` on a project reference (whether implicitly or explicitly), we used to unconditionally pass `PackFolder=$(PackFolder)` when resolving referenced content. This is correct whenever the calling project does indeed have a `PackFolder`, but not for packaging projects, since in that case, the packaging project itself doesn't have a value for that property (since it can pack any arbitrary content and has no primary output).
    
    So we switch to the mechanism used already by the .NET SDK (and common targets) of using a metadata item with the full property assignment syntax. This means that if the metadata isn't present (which we now condition to the presence of a value for `PackFolder`), when calling `GetPackageContents` on the project reference, no value will be passed at all for that property, meaning whichever value is there already, will be propagated to the referencing project, which is exactly what we want in a packaging project scenario.
    
    Fixes #139
    kzu committed May 26, 2022
    Configuration menu
    Copy the full SHA
    ca127ba View commit details
    Browse the repository at this point in the history

Commits on May 27, 2022

  1. Allow packaging projects to be framework-specific

    We refine the support for packaging projects in this commit, by defaulting its PackFolder to Ignore, which becomes somewhat similar to None, but allows for differenciation.
    
    Moreover, we test specific scenarios involving a packaging project becoming framework-specific (which we previously didn't explicitly support) by means of setting `BuildOutputFrameworkSpecific=true` at the project level. This requires re-targeting referenced assets whenever that property is true, in addition to non-packaging projects in that same scenario.
    
    Fixes #182
    kzu committed May 27, 2022
    Configuration menu
    Copy the full SHA
    25882ab View commit details
    Browse the repository at this point in the history

Commits on May 30, 2022

  1. Improve default heuristics for build projects

    Make it so that the default behavior for None items when the PackFolder for the project is build or buildTransitive the None matches the project. This is unless the item doesn't specify a different FrameworkSpecific or PackFolder metadata.
    
    This fixes the default items that were not being properly populated for packaging projects too, due to the lack of a default file extension (meaning all default items end up being ignored).
    
    Fixes #184.
    kzu committed May 30, 2022
    Configuration menu
    Copy the full SHA
    f0d2d76 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9f01a36 View commit details
    Browse the repository at this point in the history
  3. Improve readme content inclusion metadata inference

    A readme.md file at the project level will typically be automatically included as a None item,
    which by default won't pack either.
    
    This improves the inference by adding a `PackReadme=true` (by default) which controls whether a readme file (either explicitly specified with `PackageReadmeFile` as per the SDK Pack spec, or implicitly found alongside the project) is automatically packed and set as the Readme package metadata (as long as the project is being packed (IsPackable=true)).
    
    NOTE: this is implemented in the Inference targets, so that when inference is turned off entirely,
    this doesn't happen automatically, for consistency with other items inferences.
    
    Fixes #185
    kzu committed May 30, 2022
    Configuration menu
    Copy the full SHA
    88eb598 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2022

  1. Improve compatibility with SDK Pack for tools

    This brings nugetizer pretty much to parity with SDK Pack for CLI tools too :).
    
    We leverage the SDK tool packing targets to determine the files to pack, but otherwise preserve nugetizer's inference and packing behavior. Best of both worlds!
    
    The new `InferToolContents` target is the one that transforms the `PackTool` target's `TfmSpecificPackageFile` into our own `None` items for packing. It can also be extended to trim the tool's contents via a custom target that removes items, such as::
    
    ```xml
      <Target Name="TrimRuntimes" AfterTargets="InferToolContents">
        <ItemGroup>
          <None Remove="@(None)" Condition="$([MSBuild]::ValueOrDefault('%(None.PackagePath)', '').Contains('/runtimes/'))" />
        </ItemGroup>
      </Target>
    ```
    
    (this target would remove all runtimes from the tool package, but otherwise preserve the package contents).
    
    Fixes #134
    kzu committed May 31, 2022
    Configuration menu
    Copy the full SHA
    4991a85 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2022

  1. 🖉 Update changelog with v0.8.0

    github-actions committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    843921d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    41b8d5f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c388e51 View commit details
    Browse the repository at this point in the history
  4. Fix nuget publish path

    kzu committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    2d58253 View commit details
    Browse the repository at this point in the history
Loading