{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/project-system/pulls/comments/318855591","pull_request_review_id":281181258,"id":318855591,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMxODg1NTU5MQ==","diff_hunk":"@@ -93,12 +93,14 @@ protected override async Task<bool> TryHandleCommandAsync(IProjectTree node, boo\n                 var projectVsHierarchy = (IVsHierarchy)Project.Services.HostObject;\n                 ErrorHandler.ThrowOnFailure(_buildManager!.SaveDocumentsBeforeBuild(projectVsHierarchy, (uint)VSConstants.VSITEMID.Root, 0 /*docCookie*/));\n \n-                // Enable generating package on build (\"GeneratePackageOnBuild\") for all projects being built.\n-                _generatePackageOnBuildPropertyProvider.OverrideGeneratePackageOnBuild(true);\n+                // Turn off \"GeneratePackageOnBuild\" because otherwise the Pack target will not do a build, even if there is no built output\n+                _generatePackageOnBuildPropertyProvider.OverrideGeneratePackageOnBuild(false);\n \n-                // Kick off the build.\n                 uint dwFlags = (uint)(VSSOLNBUILDUPDATEFLAGS.SBF_SUPPRESS_SAVEBEFOREBUILD_QUERY | VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_BUILD);\n-                ErrorHandler.ThrowOnFailure(_buildManager.StartSimpleUpdateProjectConfiguration(projectVsHierarchy, null, null, dwFlags, 0, 0));\n+\n+                // We tell the Solution Build Manager to Package, which will call the Pack target, which will build if necessary.\n+                uint[] buildFlags = new[] { VSConstants.VS_BUILDABLEPROJECTCFGOPTS_PACKAGE };\n+                ErrorHandler.ThrowOnFailure(_buildManager.StartUpdateSpecificProjectConfigurations(1, new[] { projectVsHierarchy }, null, null, buildFlags, null, dwFlags, 0));\n             }","path":"src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/ProjectSystem/VS/Input/Commands/AbstractGenerateNuGetPackageCommand.cs","position":23,"original_position":16,"commit_id":"efa4f2e034df733f2c3e885aae50daa0cee2dba5","original_commit_id":"91d1ab7028564e061cca1f18b82a752bd1a142fe","user":{"login":"davidwengier","id":754264,"node_id":"MDQ6VXNlcjc1NDI2NA==","avatar_url":"https://avatars3.githubusercontent.com/u/754264?v=4","gravatar_id":"","url":"https://api.github.com/users/davidwengier","html_url":"https://github.com/davidwengier","followers_url":"https://api.github.com/users/davidwengier/followers","following_url":"https://api.github.com/users/davidwengier/following{/other_user}","gists_url":"https://api.github.com/users/davidwengier/gists{/gist_id}","starred_url":"https://api.github.com/users/davidwengier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidwengier/subscriptions","organizations_url":"https://api.github.com/users/davidwengier/orgs","repos_url":"https://api.github.com/users/davidwengier/repos","events_url":"https://api.github.com/users/davidwengier/events{/privacy}","received_events_url":"https://api.github.com/users/davidwengier/received_events","type":"User","site_admin":false},"body":"Yeah, I searched for the same thing and also found the AppX packager, which is also linked in the AzDo issue. Maybe I'm missing something, but I don't see how it's related? It only calls the Package target on the first project in the selection, not on dependencies (see [this comment](https://dev.azure.com/devdiv/DevDiv/_git/VS?path=%2Fsrc%2Fvsproject%2FPackageAndDeploy%2FPackagingService%2FCommands%2FPackaging.cs&version=GBmaster&line=621&lineStyle=plain&lineEnd=622&lineStartColumn=1&lineEndColumn=1)). Even if it did do it on dependencies, it wouldn't work today because we don't currently supply a value for PackageAction, so this change only improves things. And finally, if you were creating a package for a project, you wouldn't want individual packages for dependant projects anyway, you'd want the dependencies included in your package.","created_at":"2019-08-29T01:36:21Z","updated_at":"2019-08-29T01:36:22Z","html_url":"https://github.com/dotnet/project-system/pull/5388#discussion_r318855591","pull_request_url":"https://api.github.com/repos/dotnet/project-system/pulls/5388","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/comments/318855591"},"html":{"href":"https://github.com/dotnet/project-system/pull/5388#discussion_r318855591"},"pull_request":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/5388"}},"in_reply_to_id":318421364},"pull_request":{"url":"https://api.github.com/repos/dotnet/project-system/pulls/5388","id":311663205,"node_id":"MDExOlB1bGxSZXF1ZXN0MzExNjYzMjA1","html_url":"https://github.com/dotnet/project-system/pull/5388","diff_url":"https://github.com/dotnet/project-system/pull/5388.diff","patch_url":"https://github.com/dotnet/project-system/pull/5388.patch","issue_url":"https://api.github.com/repos/dotnet/project-system/issues/5388","number":5388,"state":"open","locked":false,"title":"Force generate package on build to false when packing","user":{"login":"davidwengier","id":754264,"node_id":"MDQ6VXNlcjc1NDI2NA==","avatar_url":"https://avatars3.githubusercontent.com/u/754264?v=4","gravatar_id":"","url":"https://api.github.com/users/davidwengier","html_url":"https://github.com/davidwengier","followers_url":"https://api.github.com/users/davidwengier/followers","following_url":"https://api.github.com/users/davidwengier/following{/other_user}","gists_url":"https://api.github.com/users/davidwengier/gists{/gist_id}","starred_url":"https://api.github.com/users/davidwengier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidwengier/subscriptions","organizations_url":"https://api.github.com/users/davidwengier/orgs","repos_url":"https://api.github.com/users/davidwengier/repos","events_url":"https://api.github.com/users/davidwengier/events{/privacy}","received_events_url":"https://api.github.com/users/davidwengier/received_events","type":"User","site_admin":false},"body":"Previously for the Pack command we would set GeneratePackageOnBuild to true, and then do a build. This causes a problem as we would see the project as up to date even if the package output didn't exist.\r\n\r\nThis fixes the problem by setting GeneratePackageOnBuild to false, and then calling the Pack target, which will create build outputs and/or package outputs as necessary. Just calling Pack isn't enough, as it has a condition that it doesn't do a build if GeneratePackageOnBuild is true, which according to the Nuget team is by design.\r\n\r\nFixes #1339\r\nFixes [AB#935258](https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_workitems/edit/935258)","created_at":"2019-08-28T04:24:28Z","updated_at":"2019-08-29T01:36:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dff69b390a8d583dd1a017bd859f3d8177509a02","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/project-system/pulls/5388/commits","review_comments_url":"https://api.github.com/repos/dotnet/project-system/pulls/5388/comments","review_comment_url":"https://api.github.com/repos/dotnet/project-system/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/project-system/issues/5388/comments","statuses_url":"https://api.github.com/repos/dotnet/project-system/statuses/efa4f2e034df733f2c3e885aae50daa0cee2dba5","head":{"label":"davidwengier:ForceGeneratePackageOnBuildToFalseWhenPacking","ref":"ForceGeneratePackageOnBuildToFalseWhenPacking","sha":"efa4f2e034df733f2c3e885aae50daa0cee2dba5","user":{"login":"davidwengier","id":754264,"node_id":"MDQ6VXNlcjc1NDI2NA==","avatar_url":"https://avatars3.githubusercontent.com/u/754264?v=4","gravatar_id":"","url":"https://api.github.com/users/davidwengier","html_url":"https://github.com/davidwengier","followers_url":"https://api.github.com/users/davidwengier/followers","following_url":"https://api.github.com/users/davidwengier/following{/other_user}","gists_url":"https://api.github.com/users/davidwengier/gists{/gist_id}","starred_url":"https://api.github.com/users/davidwengier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidwengier/subscriptions","organizations_url":"https://api.github.com/users/davidwengier/orgs","repos_url":"https://api.github.com/users/davidwengier/repos","events_url":"https://api.github.com/users/davidwengier/events{/privacy}","received_events_url":"https://api.github.com/users/davidwengier/received_events","type":"User","site_admin":false},"repo":{"id":147134940,"node_id":"MDEwOlJlcG9zaXRvcnkxNDcxMzQ5NDA=","name":"project-system","full_name":"davidwengier/project-system","private":false,"owner":{"login":"davidwengier","id":754264,"node_id":"MDQ6VXNlcjc1NDI2NA==","avatar_url":"https://avatars3.githubusercontent.com/u/754264?v=4","gravatar_id":"","url":"https://api.github.com/users/davidwengier","html_url":"https://github.com/davidwengier","followers_url":"https://api.github.com/users/davidwengier/followers","following_url":"https://api.github.com/users/davidwengier/following{/other_user}","gists_url":"https://api.github.com/users/davidwengier/gists{/gist_id}","starred_url":"https://api.github.com/users/davidwengier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidwengier/subscriptions","organizations_url":"https://api.github.com/users/davidwengier/orgs","repos_url":"https://api.github.com/users/davidwengier/repos","events_url":"https://api.github.com/users/davidwengier/events{/privacy}","received_events_url":"https://api.github.com/users/davidwengier/received_events","type":"User","site_admin":false},"html_url":"https://github.com/davidwengier/project-system","description":"The C#, F# and Visual Basic project system for Visual Studio","fork":true,"url":"https://api.github.com/repos/davidwengier/project-system","forks_url":"https://api.github.com/repos/davidwengier/project-system/forks","keys_url":"https://api.github.com/repos/davidwengier/project-system/keys{/key_id}","collaborators_url":"https://api.github.com/repos/davidwengier/project-system/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/davidwengier/project-system/teams","hooks_url":"https://api.github.com/repos/davidwengier/project-system/hooks","issue_events_url":"https://api.github.com/repos/davidwengier/project-system/issues/events{/number}","events_url":"https://api.github.com/repos/davidwengier/project-system/events","assignees_url":"https://api.github.com/repos/davidwengier/project-system/assignees{/user}","branches_url":"https://api.github.com/repos/davidwengier/project-system/branches{/branch}","tags_url":"https://api.github.com/repos/davidwengier/project-system/tags","blobs_url":"https://api.github.com/repos/davidwengier/project-system/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/davidwengier/project-system/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/davidwengier/project-system/git/refs{/sha}","trees_url":"https://api.github.com/repos/davidwengier/project-system/git/trees{/sha}","statuses_url":"https://api.github.com/repos/davidwengier/project-system/statuses/{sha}","languages_url":"https://api.github.com/repos/davidwengier/project-system/languages","stargazers_url":"https://api.github.com/repos/davidwengier/project-system/stargazers","contributors_url":"https://api.github.com/repos/davidwengier/project-system/contributors","subscribers_url":"https://api.github.com/repos/davidwengier/project-system/subscribers","subscription_url":"https://api.github.com/repos/davidwengier/project-system/subscription","commits_url":"https://api.github.com/repos/davidwengier/project-system/commits{/sha}","git_commits_url":"https://api.github.com/repos/davidwengier/project-system/git/commits{/sha}","comments_url":"https://api.github.com/repos/davidwengier/project-system/comments{/number}","issue_comment_url":"https://api.github.com/repos/davidwengier/project-system/issues/comments{/number}","contents_url":"https://api.github.com/repos/davidwengier/project-system/contents/{+path}","compare_url":"https://api.github.com/repos/davidwengier/project-system/compare/{base}...{head}","merges_url":"https://api.github.com/repos/davidwengier/project-system/merges","archive_url":"https://api.github.com/repos/davidwengier/project-system/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/davidwengier/project-system/downloads","issues_url":"https://api.github.com/repos/davidwengier/project-system/issues{/number}","pulls_url":"https://api.github.com/repos/davidwengier/project-system/pulls{/number}","milestones_url":"https://api.github.com/repos/davidwengier/project-system/milestones{/number}","notifications_url":"https://api.github.com/repos/davidwengier/project-system/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/davidwengier/project-system/labels{/name}","releases_url":"https://api.github.com/repos/davidwengier/project-system/releases{/id}","deployments_url":"https://api.github.com/repos/davidwengier/project-system/deployments","created_at":"2018-09-03T01:07:57Z","updated_at":"2019-02-19T00:28:07Z","pushed_at":"2019-08-28T22:26:58Z","git_url":"git://github.com/davidwengier/project-system.git","ssh_url":"git@github.com:davidwengier/project-system.git","clone_url":"https://github.com/davidwengier/project-system.git","svn_url":"https://github.com/davidwengier/project-system","homepage":"","size":27618,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"fc3b12e47adaad6e4813dc600acf190156fecc24","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":56740275,"node_id":"MDEwOlJlcG9zaXRvcnk1Njc0MDI3NQ==","name":"project-system","full_name":"dotnet/project-system","private":false,"owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/dotnet/project-system","description":"The C#, F# and Visual Basic project system for Visual Studio","fork":false,"url":"https://api.github.com/repos/dotnet/project-system","forks_url":"https://api.github.com/repos/dotnet/project-system/forks","keys_url":"https://api.github.com/repos/dotnet/project-system/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/project-system/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/project-system/teams","hooks_url":"https://api.github.com/repos/dotnet/project-system/hooks","issue_events_url":"https://api.github.com/repos/dotnet/project-system/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/project-system/events","assignees_url":"https://api.github.com/repos/dotnet/project-system/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/project-system/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/project-system/tags","blobs_url":"https://api.github.com/repos/dotnet/project-system/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/project-system/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/project-system/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/project-system/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/project-system/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/project-system/languages","stargazers_url":"https://api.github.com/repos/dotnet/project-system/stargazers","contributors_url":"https://api.github.com/repos/dotnet/project-system/contributors","subscribers_url":"https://api.github.com/repos/dotnet/project-system/subscribers","subscription_url":"https://api.github.com/repos/dotnet/project-system/subscription","commits_url":"https://api.github.com/repos/dotnet/project-system/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/project-system/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/project-system/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/project-system/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/project-system/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/project-system/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/project-system/merges","archive_url":"https://api.github.com/repos/dotnet/project-system/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/project-system/downloads","issues_url":"https://api.github.com/repos/dotnet/project-system/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/project-system/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/project-system/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/project-system/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/project-system/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/project-system/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/project-system/deployments","created_at":"2016-04-21T03:40:18Z","updated_at":"2019-08-28T16:47:58Z","pushed_at":"2019-08-29T01:32:37Z","git_url":"git://github.com/dotnet/project-system.git","ssh_url":"git@github.com:dotnet/project-system.git","clone_url":"https://github.com/dotnet/project-system.git","svn_url":"https://github.com/dotnet/project-system","homepage":"","size":27472,"stargazers_count":570,"watchers_count":570,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":185,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":645,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":185,"open_issues":645,"watchers":570,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/5388"},"html":{"href":"https://github.com/dotnet/project-system/pull/5388"},"issue":{"href":"https://api.github.com/repos/dotnet/project-system/issues/5388"},"comments":{"href":"https://api.github.com/repos/dotnet/project-system/issues/5388/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/5388/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/project-system/pulls/5388/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/project-system/statuses/efa4f2e034df733f2c3e885aae50daa0cee2dba5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"davidwengier"}}