{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":32051890,"defaultBranch":"main","name":"msbuild","ownerLogin":"dotnet","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-03-12T02:04:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9141961?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716814338.0","currentOid":""},"activityList":{"items":[{"before":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","after":"f6db258d368918853a0e13b3555debc6af2dd101","ref":"refs/heads/darc-main-bfe2d8d8-3e56-48ec-8495-96b811303241","pushedAt":"2024-05-27T12:53:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-maestro[bot]","name":null,"path":"/apps/dotnet-maestro","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/16706?s=80&v=4"},"commit":{"message":"Update dependencies from https://github.com/dotnet/arcade build 20240520.4\n\nMicrosoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions\n From Version 8.0.0-beta.24266.3 -> To Version 8.0.0-beta.24270.4","shortMessageHtmlLink":"Update dependencies from https://github.com/dotnet/arcade build 20240…"}},{"before":null,"after":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","ref":"refs/heads/darc-main-bfe2d8d8-3e56-48ec-8495-96b811303241","pushedAt":"2024-05-27T12:52:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-maestro[bot]","name":null,"path":"/apps/dotnet-maestro","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/16706?s=80&v=4"},"commit":{"message":"pack template for custom analyzer (#10155)\n\nFixes #9915\r\n\r\nContext\r\n#9789 added a template for custom analyzer.\r\nIn order for that to be usable by our customers - we need to be publishing this to nuget feed along with our other binaries. So we should have the package produced from our repo - ideally as part of our build script\r\n\r\nChanges Made\r\nCreate a template package project with property truethat pack the templates into a nuget package when build. Add the package project in the msbuild solution in order to build the project.\r\n\r\nTesting\r\nhttps://dev.azure.com/devdiv/DevDiv/_build/results?buildId=9602998&view=artifacts&pathAsName=false&type=publishedArtifacts in the packageArtifacts folder.\r\n\r\nimage","shortMessageHtmlLink":"pack template for custom analyzer (#10155)"}},{"before":"a797abbae95b0f47f19a559fc65454006f54ce7a","after":"d7d6026c34fc5b77e18c8abcf16c49e12ba022e2","ref":"refs/heads/darc-main-886461d5-fee2-413e-af7d-f3482f420668","pushedAt":"2024-05-27T12:44:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-maestro[bot]","name":null,"path":"/apps/dotnet-maestro","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/16706?s=80&v=4"},"commit":{"message":"Update dependencies from https://github.com/nuget/nuget.client build 6.11.0.66\n\nNuGet.Build.Tasks\n From Version 6.10.0-preview.2.97 -> To Version 6.11.0-preview.2.66","shortMessageHtmlLink":"Update dependencies from https://github.com/nuget/nuget.client build …"}},{"before":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","after":"a797abbae95b0f47f19a559fc65454006f54ce7a","ref":"refs/heads/darc-main-886461d5-fee2-413e-af7d-f3482f420668","pushedAt":"2024-05-27T12:44:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-maestro[bot]","name":null,"path":"/apps/dotnet-maestro","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/16706?s=80&v=4"},"commit":{"message":"Update dependencies from https://github.com/dotnet/roslyn build 20240524.2\n\nMicrosoft.Net.Compilers.Toolset\n From Version 4.10.0-3.24259.10 -> To Version 4.11.0-2.24274.2","shortMessageHtmlLink":"Update dependencies from https://github.com/dotnet/roslyn build 20240…"}},{"before":null,"after":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","ref":"refs/heads/darc-main-886461d5-fee2-413e-af7d-f3482f420668","pushedAt":"2024-05-27T12:44:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-maestro[bot]","name":null,"path":"/apps/dotnet-maestro","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/16706?s=80&v=4"},"commit":{"message":"pack template for custom analyzer (#10155)\n\nFixes #9915\r\n\r\nContext\r\n#9789 added a template for custom analyzer.\r\nIn order for that to be usable by our customers - we need to be publishing this to nuget feed along with our other binaries. So we should have the package produced from our repo - ideally as part of our build script\r\n\r\nChanges Made\r\nCreate a template package project with property truethat pack the templates into a nuget package when build. Add the package project in the msbuild solution in order to build the project.\r\n\r\nTesting\r\nhttps://dev.azure.com/devdiv/DevDiv/_build/results?buildId=9602998&view=artifacts&pathAsName=false&type=publishedArtifacts in the packageArtifacts folder.\r\n\r\nimage","shortMessageHtmlLink":"pack template for custom analyzer (#10155)"}},{"before":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","after":"7593d3328a8ebddc7d570ec2d2944614d4330763","ref":"refs/heads/locfiles/bb3ab224-8376-4ae9-b426-04c2c63d16d2","pushedAt":"2024-05-27T06:26:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9637316","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":null,"after":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","ref":"refs/heads/locfiles/bb3ab224-8376-4ae9-b426-04c2c63d16d2","pushedAt":"2024-05-27T06:25:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"pack template for custom analyzer (#10155)\n\nFixes #9915\r\n\r\nContext\r\n#9789 added a template for custom analyzer.\r\nIn order for that to be usable by our customers - we need to be publishing this to nuget feed along with our other binaries. So we should have the package produced from our repo - ideally as part of our build script\r\n\r\nChanges Made\r\nCreate a template package project with property truethat pack the templates into a nuget package when build. Add the package project in the msbuild solution in order to build the project.\r\n\r\nTesting\r\nhttps://dev.azure.com/devdiv/DevDiv/_build/results?buildId=9602998&view=artifacts&pathAsName=false&type=publishedArtifacts in the packageArtifacts folder.\r\n\r\nimage","shortMessageHtmlLink":"pack template for custom analyzer (#10155)"}},{"before":"43d021a0d4a22d6ed6a8c70e27c4ed85b9046323","after":null,"ref":"refs/heads/exp/jenny/packtemplate","pushedAt":"2024-05-27T06:24:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JaynieBai","name":"Jenny Bai","path":"/JaynieBai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26814373?s=80&v=4"}},{"before":"d11496b952bb6298cec660ff84ea29327a5f5c92","after":"2d924ca8c28f63e3b562f05525a4fd4cb8c792aa","ref":"refs/heads/main","pushedAt":"2024-05-27T06:24:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JaynieBai","name":"Jenny Bai","path":"/JaynieBai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26814373?s=80&v=4"},"commit":{"message":"pack template for custom analyzer (#10155)\n\nFixes #9915\r\n\r\nContext\r\n#9789 added a template for custom analyzer.\r\nIn order for that to be usable by our customers - we need to be publishing this to nuget feed along with our other binaries. So we should have the package produced from our repo - ideally as part of our build script\r\n\r\nChanges Made\r\nCreate a template package project with property truethat pack the templates into a nuget package when build. Add the package project in the msbuild solution in order to build the project.\r\n\r\nTesting\r\nhttps://dev.azure.com/devdiv/DevDiv/_build/results?buildId=9602998&view=artifacts&pathAsName=false&type=publishedArtifacts in the packageArtifacts folder.\r\n\r\nimage","shortMessageHtmlLink":"pack template for custom analyzer (#10155)"}},{"before":"fab3010324cf9f6929a77ee13d07e0ed921162e8","after":null,"ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-27T06:16:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JaynieBai","name":"Jenny Bai","path":"/JaynieBai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26814373?s=80&v=4"}},{"before":"6c748718699a44476ca68fd7ec424bae1bdab153","after":"d11496b952bb6298cec660ff84ea29327a5f5c92","ref":"refs/heads/main","pushedAt":"2024-05-27T06:16:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JaynieBai","name":"Jenny Bai","path":"/JaynieBai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26814373?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9634972 (#10170)\n\nLocalized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9634972\r\nThis is the pull request automatically created by the OneLocBuild task in the build process to check-in localized files generated based upon translation source files (.lcl files) handed-back from the downstream localization pipeline. If there are issues in translations, visit https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is https://aka.ms/onelocbuild and the localization process in general is documented at https://aka.ms/AllAboutLoc.","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":"7a023034a4423e9e6def736001bf792f8c7121a9","after":"fab3010324cf9f6929a77ee13d07e0ed921162e8","ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-25T09:15:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9634972","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":"72f42c415512631147f52f28467ed220ac3d2845","after":"6c748718699a44476ca68fd7ec424bae1bdab153","ref":"refs/heads/main","pushedAt":"2024-05-25T09:05:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"YuliiaKovalova","name":null,"path":"/YuliiaKovalova","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95473390?s=80&v=4"},"commit":{"message":"Wrap DumpExceptionToFile with try/catch for outofmemory (#10165)\n\n* Wrap DumpExceptionToFile with try/catch for outofmemory\r\n\r\n* add empty catch\r\n\r\nCo-authored-by: Rainer Sigwald \r\n\r\n* add comment\r\n\r\n* Update src/Shared/ExceptionHandling.cs\r\n\r\nCo-authored-by: Rainer Sigwald \r\n\r\n---------\r\n\r\nCo-authored-by: Rainer Sigwald ","shortMessageHtmlLink":"Wrap DumpExceptionToFile with try/catch for outofmemory (#10165)"}},{"before":"9cece6fcc22938ead7f76e53e8a9c0f4401e7361","after":"7a023034a4423e9e6def736001bf792f8c7121a9","ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-24T15:08:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9630549","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":"0b3caf7f8f90b7bacbfaa215cf9f04df3457c2e4","after":"72f42c415512631147f52f28467ed220ac3d2845","ref":"refs/heads/main","pushedAt":"2024-05-24T15:07:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AR-May","name":null,"path":"/AR-May","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67507805?s=80&v=4"},"commit":{"message":"Fix the crash in Terminal Logger shutdown. (#10163)\n\nFixes #9662\r\n\r\nContext\r\nWhen we use TL, we save the console output encoding to a variable, change the encoding\r\nto UTF8 for the logging duration and attempt to set it back to the previous value during the Terminal Logger shutdown. It fails in some terminal emulators. It seems to be either a bug of the terminal emulator or Console.OutputEncoding property.\r\n\r\nChanges Made\r\nWrapped the setting of the console output in try-catch block.\r\n\r\nTesting\r\nUnit tests","shortMessageHtmlLink":"Fix the crash in Terminal Logger shutdown. (#10163)"}},{"before":"4efbed43f7c154db9755fe563c41e98f94315753","after":"0b3caf7f8f90b7bacbfaa215cf9f04df3457c2e4","ref":"refs/heads/main","pushedAt":"2024-05-24T14:58:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"YuliiaKovalova","name":null,"path":"/YuliiaKovalova","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95473390?s=80&v=4"},"commit":{"message":"Handle the case for unsuccessful custom analyzer registration + change e2e tests (#10117)","shortMessageHtmlLink":"Handle the case for unsuccessful custom analyzer registration + chang…"}},{"before":"5707e971ef2bf4ddcdc5c319f901a8cddf0cfdc6","after":"9cece6fcc22938ead7f76e53e8a9c0f4401e7361","ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-24T13:52:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9630291","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":"eade7200e9e8c3f7017c7eff60b7cf591b2e71ac","after":"4efbed43f7c154db9755fe563c41e98f94315753","ref":"refs/heads/main","pushedAt":"2024-05-24T13:42:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"YuliiaKovalova","name":null,"path":"/YuliiaKovalova","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95473390?s=80&v=4"},"commit":{"message":"Tweak release-process docs (#9958)\n\n* Initial PR checklist content\r\n\r\nSnapshot of the now-current release https://github.com/dotnet/msbuild/issues/9914.\r\n\r\n* Uncheck!\r\n\r\n* Section headers\r\n\r\n* Variables for the releases\r\n\r\n* Clarifications and update stale version\r\n\r\n* fixup! Variables for the releases\r\n\r\n* Clarify ff instructions\r\n\r\n* Crispen OptProf\r\n\r\n* fixup! Variables for the releases\r\n\r\n* More tweaks","shortMessageHtmlLink":"Tweak release-process docs (#9958)"}},{"before":"eade7200e9e8c3f7017c7eff60b7cf591b2e71ac","after":"5707e971ef2bf4ddcdc5c319f901a8cddf0cfdc6","ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-24T07:22:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9629430","shortMessageHtmlLink":"Localized file check-in by OneLocBuild Task: Build definition ID 9434…"}},{"before":null,"after":"eade7200e9e8c3f7017c7eff60b7cf591b2e71ac","ref":"refs/heads/locfiles/8c9d5f00-1d7e-40ef-87df-2f2ab0e17928","pushedAt":"2024-05-24T07:21:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Support lazy instantiation of ProjectInstance values when CPS Evaluation cache is used (#10030)\n\n### Context\r\nThis PR targets the specific scenario of constructing a ProjectInstance object from the evaluation data stored in CPS's evaluation cache, with the goal of saving memory and execution time during Solution Load.\r\n\r\nIn a previous change (https://github.com/dotnet/msbuild/commit/2a789cd8bd34b92e3f508cd2eb6ecfa9343472f9), I modified the ProjectInstance logic to rely on virtualized collections that are wrappers around the CPS evaluation cache's collection. The ProjectPropertyInstance, ProjectItemInstance, etc. objects were created ahead of time and associated with the corresponding CPS object, such that only one copy of the collections needed to exist.\r\n\r\nIn this PR, the goal is to extend that further such that the ProjectPropertyInstance, ProjectItemInstance, etc. values are only created when they're actually needed, and some new logic is introduced for reading Property values and Metadata values that allows avoiding creating the ProjectPropertyInstance and ProjectMetadataInstance when all that's sought is the EscapedValue string.\r\n\r\n### Changes Made\r\nThe collections for ProjectInstance's _properties, _itemDefinitions, _items, _itemsByEvaluatedInclude, _globalProperties, _targets, _importPaths, and _importPathsincludingDuplicates collections are replaced with specialized virtualizing collections that wrap the associated CPS collection. These collections create the ProjectPropertyInstance et al objects only when a caller requests them. Additionally, the ProjectItemDefinitionInstance's metadata collection, and the ProjectItemInstance's ItemDefinition and Metadata collections are all similarly replaced by a virtualizing collection.\r\n\r\nProjectInstance's _environmentVariableProperties still relies on the ProjectCollection's EnvironmentVariables, but a new SharedReadOnlyEnvironmentProperties collection is introduced that does not hand out copies of the PropertyDictionary, but instead the same PropertyDictionary instance whose backing collection has been made read only.\r\n\r\n### Testing\r\nManual verification of impacted scenarios and performance measurements.","shortMessageHtmlLink":"Support lazy instantiation of ProjectInstance values when CPS Evaluat…"}},{"before":"147ecadd19ae031d5a511ad55908cff9bcdc17c5","after":"eade7200e9e8c3f7017c7eff60b7cf591b2e71ac","ref":"refs/heads/main","pushedAt":"2024-05-24T07:12:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ladipro","name":"Ladi Prosek","path":"/ladipro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12206368?s=80&v=4"},"commit":{"message":"Support lazy instantiation of ProjectInstance values when CPS Evaluation cache is used (#10030)\n\n### Context\r\nThis PR targets the specific scenario of constructing a ProjectInstance object from the evaluation data stored in CPS's evaluation cache, with the goal of saving memory and execution time during Solution Load.\r\n\r\nIn a previous change (https://github.com/dotnet/msbuild/commit/2a789cd8bd34b92e3f508cd2eb6ecfa9343472f9), I modified the ProjectInstance logic to rely on virtualized collections that are wrappers around the CPS evaluation cache's collection. The ProjectPropertyInstance, ProjectItemInstance, etc. objects were created ahead of time and associated with the corresponding CPS object, such that only one copy of the collections needed to exist.\r\n\r\nIn this PR, the goal is to extend that further such that the ProjectPropertyInstance, ProjectItemInstance, etc. values are only created when they're actually needed, and some new logic is introduced for reading Property values and Metadata values that allows avoiding creating the ProjectPropertyInstance and ProjectMetadataInstance when all that's sought is the EscapedValue string.\r\n\r\n### Changes Made\r\nThe collections for ProjectInstance's _properties, _itemDefinitions, _items, _itemsByEvaluatedInclude, _globalProperties, _targets, _importPaths, and _importPathsincludingDuplicates collections are replaced with specialized virtualizing collections that wrap the associated CPS collection. These collections create the ProjectPropertyInstance et al objects only when a caller requests them. Additionally, the ProjectItemDefinitionInstance's metadata collection, and the ProjectItemInstance's ItemDefinition and Metadata collections are all similarly replaced by a virtualizing collection.\r\n\r\nProjectInstance's _environmentVariableProperties still relies on the ProjectCollection's EnvironmentVariables, but a new SharedReadOnlyEnvironmentProperties collection is introduced that does not hand out copies of the PropertyDictionary, but instead the same PropertyDictionary instance whose backing collection has been made read only.\r\n\r\n### Testing\r\nManual verification of impacted scenarios and performance measurements.","shortMessageHtmlLink":"Support lazy instantiation of ProjectInstance values when CPS Evaluat…"}},{"before":"147ecadd19ae031d5a511ad55908cff9bcdc17c5","after":null,"ref":"refs/heads/locfiles/80cdf850-8617-4572-9b4b-20b88b0052ad","pushedAt":"2024-05-23T07:17:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"}},{"before":null,"after":"147ecadd19ae031d5a511ad55908cff9bcdc17c5","ref":"refs/heads/locfiles/80cdf850-8617-4572-9b4b-20b88b0052ad","pushedAt":"2024-05-23T07:15:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Add ParameterName and PropertyName to TaskParameterEventArgs (#10130)\n\nContributes to #9881\r\n\r\n### Context\r\n\r\nWhen `TaskParameterEventArgs` represents an output parameter of a task, it currently does not capture the name of the parameter. This information is generally useful as multiple output parameters can be assigned to the same item, and it's important for the BuildCheck infrastructure to provide a consistent object model to build analyzers.\r\n\r\nAdditionally, output parameters that are assigned to properties are currently logged as textual log messages `Output Property: {0}={1}` which miss the name of the parameter as well.\r\n\r\n### Changes Made\r\n\r\nAdded two new properties on the `TaskParameterEventArgs` class, including the requisite serialization support. Updated logging to populate the properties with the name of the task parameter and the name of the build property, respectively, and updated BuildCheck infra to expose it to analyzers subscribed to task parameter events.\r\n\r\nAll task parameters are now logged as the structured `TaskParameterEventArgs` and the kind of parameter (input, output to property, output to item) can be determined by examining the args.\r\n\r\n### Testing\r\n\r\n- Tweaked existing unit test and updated the relevant BuildCheck test.\r\n- Verified that when using the standard console logger, the resulting textual log is identical.\r\n- Verified that binlog viewer without the corresponding changes displays the forward-compat warning about unknown data.\r\n\r\n### Notes\r\n\r\n- Complementary binlog viewer PR: https://github.com/KirillOsenkov/MSBuildStructuredLog/pull/780\r\n- The change is behind a changewave because it is technically a breaking change for third party loggers.\r\n\r\nCo-authored-by: Rainer Sigwald ","shortMessageHtmlLink":"Add ParameterName and PropertyName to TaskParameterEventArgs (#10130)"}},{"before":"1d47d30e57cb25e4460aba977fbf4f6f171ca386","after":"147ecadd19ae031d5a511ad55908cff9bcdc17c5","ref":"refs/heads/main","pushedAt":"2024-05-23T07:05:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ladipro","name":"Ladi Prosek","path":"/ladipro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12206368?s=80&v=4"},"commit":{"message":"Add ParameterName and PropertyName to TaskParameterEventArgs (#10130)\n\nContributes to #9881\r\n\r\n### Context\r\n\r\nWhen `TaskParameterEventArgs` represents an output parameter of a task, it currently does not capture the name of the parameter. This information is generally useful as multiple output parameters can be assigned to the same item, and it's important for the BuildCheck infrastructure to provide a consistent object model to build analyzers.\r\n\r\nAdditionally, output parameters that are assigned to properties are currently logged as textual log messages `Output Property: {0}={1}` which miss the name of the parameter as well.\r\n\r\n### Changes Made\r\n\r\nAdded two new properties on the `TaskParameterEventArgs` class, including the requisite serialization support. Updated logging to populate the properties with the name of the task parameter and the name of the build property, respectively, and updated BuildCheck infra to expose it to analyzers subscribed to task parameter events.\r\n\r\nAll task parameters are now logged as the structured `TaskParameterEventArgs` and the kind of parameter (input, output to property, output to item) can be determined by examining the args.\r\n\r\n### Testing\r\n\r\n- Tweaked existing unit test and updated the relevant BuildCheck test.\r\n- Verified that when using the standard console logger, the resulting textual log is identical.\r\n- Verified that binlog viewer without the corresponding changes displays the forward-compat warning about unknown data.\r\n\r\n### Notes\r\n\r\n- Complementary binlog viewer PR: https://github.com/KirillOsenkov/MSBuildStructuredLog/pull/780\r\n- The change is behind a changewave because it is technically a breaking change for third party loggers.\r\n\r\nCo-authored-by: Rainer Sigwald ","shortMessageHtmlLink":"Add ParameterName and PropertyName to TaskParameterEventArgs (#10130)"}},{"before":"1d47d30e57cb25e4460aba977fbf4f6f171ca386","after":null,"ref":"refs/heads/locfiles/26826513-b8a0-4185-9c05-3a0ab54510c7","pushedAt":"2024-05-22T16:12:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"}},{"before":null,"after":"1d47d30e57cb25e4460aba977fbf4f6f171ca386","ref":"refs/heads/locfiles/26826513-b8a0-4185-9c05-3a0ab54510c7","pushedAt":"2024-05-22T16:10:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dotnet-bot","name":"dotnet bot","path":"/dotnet-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9011267?s=80&v=4"},"commit":{"message":"Fix nullref (#10168)","shortMessageHtmlLink":"Fix nullref (#10168)"}},{"before":"ce896debc2372934b04736fa87b9cac2307afbd2","after":null,"ref":"refs/heads/bugfix/expander-fix","pushedAt":"2024-05-22T16:00:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maridematte","name":"Mariana Dematte","path":"/maridematte","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10743736?s=80&v=4"}},{"before":"9e21c71e90cd513a70ccb889259cb6c5d24cac34","after":"1d47d30e57cb25e4460aba977fbf4f6f171ca386","ref":"refs/heads/main","pushedAt":"2024-05-22T16:00:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"maridematte","name":"Mariana Dematte","path":"/maridematte","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10743736?s=80&v=4"},"commit":{"message":"Fix nullref (#10168)","shortMessageHtmlLink":"Fix nullref (#10168)"}},{"before":null,"after":"ce896debc2372934b04736fa87b9cac2307afbd2","ref":"refs/heads/bugfix/expander-fix","pushedAt":"2024-05-22T15:19:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JanKrivanek","name":"Jan Krivanek","path":"/JanKrivanek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3809076?s=80&v=4"},"commit":{"message":"Fix nullref","shortMessageHtmlLink":"Fix nullref"}},{"before":null,"after":"c3d24bb7e7d9e1833a0049e6f3bdd4e30d5e5993","ref":"refs/heads/exp/insertion","pushedAt":"2024-05-22T14:55:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maridematte","name":"Mariana Dematte","path":"/maridematte","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10743736?s=80&v=4"},"commit":{"message":"Expander refactoring [property tracking analyzers prerequisity] (#10102)\n\n* Refactor expander - logging context and property tracking\r\n\r\n* Fix env vars tracking\r\n\r\n* Fix after merge\r\n\r\n* reflect PR comments\r\n\r\n* Initialize ItemBucket expander only once LoggingContext is known\r\n\r\n* Join conditions\r\n\r\n* Reflect PR comments","shortMessageHtmlLink":"Expander refactoring [property tracking analyzers prerequisity] (#10102)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVOTRQgA","startCursor":null,"endCursor":null}},"title":"Activity · dotnet/msbuild"}