{"action":"created","issue":{"url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/812","repository_url":"https://api.github.com/repos/NuGet/NuGet.Client","labels_url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/812/labels{/name}","comments_url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/812/comments","events_url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/812/events","html_url":"https://github.com/NuGet/NuGet.Client/pull/812","id":170037762,"number":812,"title":"Improved update packages performance for UWP projects","user":{"login":"jainaashish","id":18219758,"avatar_url":"https://avatars.githubusercontent.com/u/18219758?v=3","gravatar_id":"","url":"https://api.github.com/users/jainaashish","html_url":"https://github.com/jainaashish","followers_url":"https://api.github.com/users/jainaashish/followers","following_url":"https://api.github.com/users/jainaashish/following{/other_user}","gists_url":"https://api.github.com/users/jainaashish/gists{/gist_id}","starred_url":"https://api.github.com/users/jainaashish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jainaashish/subscriptions","organizations_url":"https://api.github.com/users/jainaashish/orgs","repos_url":"https://api.github.com/users/jainaashish/repos","events_url":"https://api.github.com/users/jainaashish/events{/privacy}","received_events_url":"https://api.github.com/users/jainaashish/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NuGet/NuGet.Client/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-08-08T22:10:09Z","updated_at":"2016-08-18T19:58:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/NuGet/NuGet.Client/pulls/812","html_url":"https://github.com/NuGet/NuGet.Client/pull/812","diff_url":"https://github.com/NuGet/NuGet.Client/pull/812.diff","patch_url":"https://github.com/NuGet/NuGet.Client/pull/812.patch"},"body":"Fixes https://github.com/NuGet/Home/issues/3192 https://github.com/NuGet/Home/issues/1640 \r\n\r\nThis change improve update package performance for UWP projects by ~85%. For a solution of 20 UWP projects, it used to take ~7.5 mins to update 3 packages where as now it takes ~1.2 mins for the same operation. It also improve update performance for msbuild projects by ~20% by improving checkLicense as well as previewUpdate times. Below is the summary of changes:\r\n\r\n- PM now takes List of nugetProjects  for PreviewUpdatePackagesAsync instead of a single project which allows it to run previewUpdate in parallel for all the projects.\r\n- PM has new ExecuteNuGetProjectActionsAsync api which takes all nugetProjects being updated as well as their list of actions, and then it will first sort these projects based on reverse dependency order and then execute nuget actions which allows it to avoid running multiple restores for a single project as part of cross-projects dependency. Since for build-integrated projects, we also restore all parent projects.\r\n- Improved CheckLicenseAcceptanceAsync on UI to run in parallel to get all packages metadata.\r\n- Also CheckLicenseAcceptanceAsync first checks with local sources to get package's metadata instead of going to remote sources. In most cases, it will find it in global packages folder.\r\n- Added a new GetMetadataAsync api in PackageMetadataResource whcih takes packageIdentity as input and return it's metadata if found. Previously we only had a single api which takes package id and returns all the versions metadata."},"comment":{"url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/comments/240838263","html_url":"https://github.com/NuGet/NuGet.Client/pull/812#issuecomment-240838263","issue_url":"https://api.github.com/repos/NuGet/NuGet.Client/issues/812","id":240838263,"user":{"login":"emgarten","id":6381138,"avatar_url":"https://avatars.githubusercontent.com/u/6381138?v=3","gravatar_id":"","url":"https://api.github.com/users/emgarten","html_url":"https://github.com/emgarten","followers_url":"https://api.github.com/users/emgarten/followers","following_url":"https://api.github.com/users/emgarten/following{/other_user}","gists_url":"https://api.github.com/users/emgarten/gists{/gist_id}","starred_url":"https://api.github.com/users/emgarten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emgarten/subscriptions","organizations_url":"https://api.github.com/users/emgarten/orgs","repos_url":"https://api.github.com/users/emgarten/repos","events_url":"https://api.github.com/users/emgarten/events{/privacy}","received_events_url":"https://api.github.com/users/emgarten/received_events","type":"User","site_admin":false},"created_at":"2016-08-18T19:58:37Z","updated_at":"2016-08-18T19:58:37Z","body":"LGTM :rocket: "}}
{"actor":{"display_login":"emgarten"}}