-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev > Main #3
Dev > Main #3
Commits on Sep 23, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 766a689 - Browse repository at this point
Copy the full SHA 766a689View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83c07f2 - Browse repository at this point
Copy the full SHA 83c07f2View commit details -
Don't use ILRepack, it's unnecessary
Since we don't use SDK Pack at all and we want to target NS2.
Configuration menu - View commit details
-
Copy full SHA for c689512 - Browse repository at this point
Copy the full SHA c689512View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf6e407 - Browse repository at this point
Copy the full SHA cf6e407View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72e59ac - Browse repository at this point
Copy the full SHA 72e59acView commit details
Commits on Sep 24, 2020
-
Add multi-targeting pack support
Previously, we were only partially supporting multi-targeting via GetPackageContents mostly and not much more. This refactors the common targets that should apply in both multi and single targeting pack into NuGetizer.Common.targets so it can be shared by both. A test now ensures that things works as expected, as well as avoiding duplicate metadata content item. As part of this improved metadata support, we also introduce the GetPackageMetadata target so we separate and centralize the package metadata from the package target path as well as the pacakge file item created from it (all slightly different but sharing most metadata values).
Configuration menu - View commit details
-
Copy full SHA for 69084a4 - Browse repository at this point
Copy the full SHA 69084a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 887e818 - Browse repository at this point
Copy the full SHA 887e818View commit details -
Configuration menu - View commit details
-
Copy full SHA for ace11cb - Browse repository at this point
Copy the full SHA ace11cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f4579d - Browse repository at this point
Copy the full SHA 0f4579dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 546c05f - Browse repository at this point
Copy the full SHA 546c05fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c85f0fb - Browse repository at this point
Copy the full SHA c85f0fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43429b7 - Browse repository at this point
Copy the full SHA 43429b7View commit details -
Add tests for package metadata customization scenario
The traditional way of extending package metadata was to simply hardcode an ever-growing number of properties. In order to have a more flexible and extensible mechanism, we now use those properties to feed into a single @(PackageMetadata) item per packagable project, which contains those properites much like before. Having a separate item type for the metadata (rather than just creating a PackageTargetPath and a _PackageFile with Metadata kind, allows extending the metadata for that item also via an ItemDefinitionGroup. In addition, if the project itself already includes an item PackageMetadata, we simply use that instead and avoid creating a second one or overriding the explicitly created values.
Configuration menu - View commit details
-
Copy full SHA for e347400 - Browse repository at this point
Copy the full SHA e347400View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a6504d - Browse repository at this point
Copy the full SHA 3a6504dView commit details -
Fix metadata by item definition test
Showcase adding metadata, since built-in values will still pick up the supported properties, which should be the mechanism to extend them.
Configuration menu - View commit details
-
Copy full SHA for de7eb84 - Browse repository at this point
Copy the full SHA de7eb84View commit details -
Rename PrimaryOutput* to BuildOutput*, remove old workarounds
Makes more sense since we don't have any "secondary" outputs. This renames both PrimaryOutputKind > BuildOutputKind and PrimaryOutputFrameworkSpecific > BuildOutputFrameworkSpecific. We also remove old workarounds for PRs that have since shipped for a while in MSBuild.
Configuration menu - View commit details
-
Copy full SHA for d44d5e4 - Browse repository at this point
Copy the full SHA d44d5e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0112a4 - Browse repository at this point
Copy the full SHA d0112a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe41b5e - Browse repository at this point
Copy the full SHA fe41b5eView commit details -
Explicit PackagePath in Content/None equals Pack=true
This makes it more intuitive and aligns with SDK Pack. Also, since de-duplication is performed in the CreatePackage task, the targets were being overzealous with that and preventing the valid scenario (like we have ourselves!) of using the same source file and place it in different package paths (we do so for various multi-targeting ones.
Configuration menu - View commit details
-
Copy full SHA for 34eba1d - Browse repository at this point
Copy the full SHA 34eba1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 111d1c4 - Browse repository at this point
Copy the full SHA 111d1c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47c20c4 - Browse repository at this point
Copy the full SHA 47c20c4View commit details -
Test cleanup, migration and improvements
The tests dealt with a lot of legacy cases where projects were not SDK-style and other weird setups for faking frameworks and the like. By unifying all test scenario projects on SDK-style and leveraging the SDK built-in support for turning off standard framework resolution via DisableStandardFrameworkResolution (see dotnet/sdk@bba2f8087), we could significantly simply the targets that simulate a full package reference to NuGetizer scenario.
Configuration menu - View commit details
-
Copy full SHA for c5fe4dc - Browse repository at this point
Copy the full SHA c5fe4dcView commit details -
Deduplicate inferred project output
It's quite common for BuiltProjectOutputGroupOutput and BuiltProjectOutputGroupKeyOutput to include the same output, so we deduplicate.
Configuration menu - View commit details
-
Copy full SHA for d50646c - Browse repository at this point
Copy the full SHA d50646cView commit details -
Collect and publish build logs when System.Debug=true
This allows collecting diagnostic logs from CI in DevOps when things fail unexpectedly.
Configuration menu - View commit details
-
Copy full SHA for 7b9fd10 - Browse repository at this point
Copy the full SHA 7b9fd10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 567b3b8 - Browse repository at this point
Copy the full SHA 567b3b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1984de3 - Browse repository at this point
Copy the full SHA 1984de3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05364e8 - Browse repository at this point
Copy the full SHA 05364e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c48e87 - Browse repository at this point
Copy the full SHA 8c48e87View commit details -
Allow packing from the IDE, and cleanup package contents
When running Pack from the IDE, the output tasks assembly will be locked, so it requires killing MSBuild.exe afterwards, but it can be a convenient way to peek at the output. Alternatively, you can set MSBUILDDISABLENODEREUSE=1 via envvar (i.e. before launching VS) and that would allow a more iterative approach.
Configuration menu - View commit details
-
Copy full SHA for 850a0d7 - Browse repository at this point
Copy the full SHA 850a0d7View commit details -
When packing, return the actually built output item
It contains all the original manifest metadata in addition to the actual target path created in the CreatePackageTask. It seems more appropriate, in case we add more info in the task, for example, that might be missing in the `PackageTargetPath` item.
Configuration menu - View commit details
-
Copy full SHA for 2dece24 - Browse repository at this point
Copy the full SHA 2dece24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ab2dcd - Browse repository at this point
Copy the full SHA 1ab2dcdView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4bf83c - Browse repository at this point
Copy the full SHA a4bf83cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 732ae67 - Browse repository at this point
Copy the full SHA 732ae67View commit details
Commits on Sep 25, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 4060c22 - Browse repository at this point
Copy the full SHA 4060c22View commit details -
Use version prefix/suffix combination for more flexibility
This allows the 42.42.42 in the .props to be replaceable via a -p:versionprefix= MSBuild argument, which could still preserve the branch+height suffix.
Configuration menu - View commit details
-
Copy full SHA for 1c6ed6b - Browse repository at this point
Copy the full SHA 1c6ed6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae25cb8 - Browse repository at this point
Copy the full SHA ae25cb8View commit details -
Make sure dynamic package metadata is updated
The previous approach was relying on the item definition group alone to set the repository properties. This was insufficient to catch the values updated by a source control provider. So we now support a mix of both properties and item metadata, as follows: * Basic tweaking: expected to be done like in SDK Pack, using properties. These can also be modified via targets and things will just work i.e. updating a Description from a target running before GetPackageMetadata, for example. * Advanced tweaking: for advanced metadata manipulation, we'll support preserving an already created PackageMetadata item for the project's PackageId, and will just update the repository and version info in the GetPackageMetadata target. The user can still run before/after this target and modify the resulting PackageMetadata item as needed, of course. This combination offers the maximum flexibility and future proofing in terms of package metadata.
Configuration menu - View commit details
-
Copy full SHA for ebe0005 - Browse repository at this point
Copy the full SHA ebe0005View commit details
Commits on Sep 26, 2020
-
Push CI packages to sleet feed instead of GH packages
Since the GH packages feeds are authenticated, they aren't of much use for an oss project, so stick to sleet+Azure for now. Adding .NETCore 2.1 install since sleet requires that.
Configuration menu - View commit details
-
Copy full SHA for 0803de6 - Browse repository at this point
Copy the full SHA 0803de6View commit details
Commits on Sep 27, 2020
-
Add ability to selectively emit nuspec and nupkg
This allows invoking Pack to get either (i.e. for testing or exploring what the output package would look like). Also took the chance to avoid emitting nuspec properties when the relevant item metadata is missing entirely (instead of emitting empty nuspec properties).
Configuration menu - View commit details
-
Copy full SHA for bec5eac - Browse repository at this point
Copy the full SHA bec5eacView commit details
Commits on Sep 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0ca8ddd - Browse repository at this point
Copy the full SHA 0ca8dddView commit details -
Add nugetize dotnet global tool that helps discover NuGetizer
The tool renders in the output window the structure that a project would generate if it were to produce a nuget package. It's key that it doesn't actually require the files referenced in the project to even exist. In fact, the project doesn't even have to build, since it's built as if it were a design-time build and the compiler invocation is skipped. This allows a very nice exploration of nugetizer capabilities without actually having to produce a bunch of empty files to explore what metadata causes which items to end up in which folders.
Configuration menu - View commit details
-
Copy full SHA for 73538e2 - Browse repository at this point
Copy the full SHA 73538e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3118834 - Browse repository at this point
Copy the full SHA 3118834View commit details -
Both the test and dotnet tool had a build dependency (but not a project reference) to the tasks project, but were getting an implicit project reference that caused a build during pack too. See https://www.cazzulino.com/project-dependencies-as-project-references.html for more information.
Configuration menu - View commit details
-
Copy full SHA for b4771cb - Browse repository at this point
Copy the full SHA b4771cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f0c021 - Browse repository at this point
Copy the full SHA 7f0c021View commit details -
Always unconditionally set the package output path
So we can have predictable builds and outputs always.
Configuration menu - View commit details
-
Copy full SHA for 211e9f4 - Browse repository at this point
Copy the full SHA 211e9f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f79ee54 - Browse repository at this point
Copy the full SHA f79ee54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25c6f73 - Browse repository at this point
Copy the full SHA 25c6f73View commit details -
Configuration menu - View commit details
-
Copy full SHA for be06b9e - Browse repository at this point
Copy the full SHA be06b9eView commit details -
Allow excluding framework references with Pack=false
This adds consistency with the other item types.
Configuration menu - View commit details
-
Copy full SHA for 0106acd - Browse repository at this point
Copy the full SHA 0106acdView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8371a7 - Browse repository at this point
Copy the full SHA f8371a7View commit details
Commits on Sep 29, 2020
-
Add build-in support in NuGetizer for dotnet-nugetize
Instead of doing so many brittle hacks, just assume the project will already be packable and have the right metadata in place. So it's mostly a tool for quickly inspecting changes to a project. Simplify also the way the multitargeting targets are copied and used, so that there's minimal stuff in the buildMultitargeting folder. Rename NuGetizer.Common.targets to NuGetizer.Shared.targets instead, which also makes it clearer that they are shared targets across single and multi-targeting.
Configuration menu - View commit details
-
Copy full SHA for ff1c848 - Browse repository at this point
Copy the full SHA ff1c848View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5f0a27 - Browse repository at this point
Copy the full SHA d5f0a27View commit details -
Configuration menu - View commit details
-
Copy full SHA for db268db - Browse repository at this point
Copy the full SHA db268dbView commit details