{"action":"created","issue":{"url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/68","repository_url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging","labels_url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/68/labels{/name}","comments_url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/68/comments","events_url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/68/events","html_url":"https://github.com/NuGet/NuGet.Build.Packaging/pull/68","id":195957916,"number":68,"title":"Use GetTargetPathWithTargetPlatformMoniker and create two stage GetPackageContents","user":{"login":"bbowman","id":15642573,"avatar_url":"https://avatars.githubusercontent.com/u/15642573?v=3","gravatar_id":"","url":"https://api.github.com/users/bbowman","html_url":"https://github.com/bbowman","followers_url":"https://api.github.com/users/bbowman/followers","following_url":"https://api.github.com/users/bbowman/following{/other_user}","gists_url":"https://api.github.com/users/bbowman/gists{/gist_id}","starred_url":"https://api.github.com/users/bbowman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bbowman/subscriptions","organizations_url":"https://api.github.com/users/bbowman/orgs","repos_url":"https://api.github.com/users/bbowman/repos","events_url":"https://api.github.com/users/bbowman/events{/privacy}","received_events_url":"https://api.github.com/users/bbowman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-12-16T01:11:06Z","updated_at":"2016-12-16T03:07:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/pulls/68","html_url":"https://github.com/NuGet/NuGet.Build.Packaging/pull/68","diff_url":"https://github.com/NuGet/NuGet.Build.Packaging/pull/68.diff","patch_url":"https://github.com/NuGet/NuGet.Build.Packaging/pull/68.patch"},"body":"Description:\r\nChange target used to determine if nugetizer is installed to GetTargetPathWithTargetPlatformMoniker.\r\nThis is needed for native projects (.vcxproj) that don't return an item list (so metadata can be attached)\r\nin GetTargetPath. Instead use the target that is expected based on the metadata injection.\r\n\r\nAlso remove dependency on GetPackageTargetPath from GetPackageContents by creating a second stage,\r\nGetFinalPackageContents. This allows consumers to potienitally adjust package metadata based on the\r\ncontents of the package. A simple example of this may be to tag the version of the package with the timestamp\r\nof the most recently modified package member, etc."},"comment":{"url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/comments/267506685","html_url":"https://github.com/NuGet/NuGet.Build.Packaging/pull/68#issuecomment-267506685","issue_url":"https://api.github.com/repos/NuGet/NuGet.Build.Packaging/issues/68","id":267506685,"user":{"login":"kzu","id":169707,"avatar_url":"https://avatars.githubusercontent.com/u/169707?v=3","gravatar_id":"","url":"https://api.github.com/users/kzu","html_url":"https://github.com/kzu","followers_url":"https://api.github.com/users/kzu/followers","following_url":"https://api.github.com/users/kzu/following{/other_user}","gists_url":"https://api.github.com/users/kzu/gists{/gist_id}","starred_url":"https://api.github.com/users/kzu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kzu/subscriptions","organizations_url":"https://api.github.com/users/kzu/orgs","repos_url":"https://api.github.com/users/kzu/repos","events_url":"https://api.github.com/users/kzu/events{/privacy}","received_events_url":"https://api.github.com/users/kzu/received_events","type":"User","site_admin":false},"created_at":"2016-12-16T03:07:40Z","updated_at":"2016-12-16T03:07:40Z","body":"Would love to get @mhutch feedback on this. \r\n\r\nIt's true that the intended original design is for the extensibility to be based on just providing your own `PackageFile` items, the default implementation of `GetPackageContents` being little more than some sensible defaults. At the same time, it might be useful to open up pre/post processing of the package contents prior to returning it from the main target, something that isn't currently possible (i.e. P2P references just use the returned @(_PackageContents) directly, so an `AfterTargets=\"GetPackageContents\"` has no effect to possibly affect the returned output.\r\n\r\nWRT changing GetTargetPath for GetTargetPathWithTargetPlatformMoniker, I'm less certain. Even though the target is supported and behaves exactly the same under 14.0 and 15.0, the comment in it isn't encouraging:\r\n\r\n```\r\n                                        GetTargetPathWithTargetPlatformMoniker\r\n\r\n    This stand-alone target returns the name and version of the target platform for this project.\r\n\r\n    NOTE: The functionality of this target has been subsumed by GetTargetPath.  This target is\r\n    provided purely for compat reasons.\r\n```\r\n\r\nGiven how trivial it is for any project/nuget to redefine `GetTargetPath` at will, I'm tempted to say this should be fixed in VC++ targets (they don't even need to be the official toolset targets, but any nuget can do so too, IIRC). "}}
{"actor":{"display_login":"kzu"}}