Compare commits

...

256 commits

Author SHA1 Message Date
Travis Plunk a090b9eb5f
use different containers for different branches (#16434) 2021-11-10 13:34:29 -08:00
Travis Plunk 292c63430b
Add import so we can use common GitHub workflow function. (#16433)
* Update daily.yml

* Update daily.yml

* try changing error action (#16435)

* Add exit 0 (#16436)
2021-11-10 13:09:28 -08:00
Aditya Patwardhan 9cb33d48a8
Remove pre-release .NET 6 build sources (#16418)
* Remove pre-release .NET 6 build sources

* Update nuget.config
2021-11-10 13:00:18 -08:00
Travis Plunk 23f701ca3c
Update release instructions with link to new build (#16419) 2021-11-10 12:29:07 -08:00
MartinGC94 965dc8f40f
Fix tab completion within the script block specified for the ValidateScriptAttribute. (#14550) 2021-11-09 18:26:14 -08:00
James Truher [MSFT] 19b5647c0a
Update README.md to specify gathered telemetry (#16379) 2021-11-09 17:30:56 -08:00
dependabot[bot] f2a42fb964
Bump Microsoft.ApplicationInsights from 2.18.0 to 2.19.0 (#16413)
* Bump Microsoft.ApplicationInsights from 2.18.0 to 2.19.0

Bumps [Microsoft.ApplicationInsights](https://github.com/Microsoft/ApplicationInsights-dotnet) from 2.18.0 to 2.19.0.
- [Release notes](https://github.com/Microsoft/ApplicationInsights-dotnet/releases)
- [Changelog](https://github.com/microsoft/ApplicationInsights-dotnet/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/ApplicationInsights-dotnet/compare/2.18.0...2.19.0)

---
updated-dependencies:
- dependency-name: Microsoft.ApplicationInsights
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update cgmanifest.json

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>
2021-11-09 15:48:06 -08:00
Steve Lee cc28dafa8a
Fix typo for "privacy" in MSI installer (#16407) 2021-11-09 14:56:46 -08:00
Travis Plunk eac16e8167
Update metadata.json to make 7.2.0 the latest LTS (#16417) 2021-11-09 10:21:16 -08:00
Travis Plunk d176853672
Make static CI a matrix (#16397)
* move markdown lint tests

* move markdown link tests

* refactor static link analysis into a matrix

* cache yarn packages

* fix paramater name
2021-11-09 09:23:26 -08:00
Aditya Patwardhan f8d6b2f9fe
Update metadata.json in preparation on 7.3.0-preview.1 release (#16406)
* Update `metadata.json` in preparation on `7.3.0-preview.1` release

* Update PSVersion table and tests
2021-11-09 08:31:01 -08:00
Travis Plunk a10da5a041
Update change log for 7.2.0 (#16401)
* Merged PR 17994: Update change log for 7.2.0

Update change log for 7.2.0

# Conflicts:
#	.spelling

* add blank change log for 7.3

Co-authored-by: Aditya Patwardhan <adityap@microsoft.com>
2021-11-08 15:03:23 -08:00
Travis Plunk dca88a8f50
Update cgmanifest (#16405) 2021-11-08 15:02:11 -08:00
Travis Plunk b48614bf92
Add diagnostics used to take corrective action when releasing buildInfoJson (#16404)
Co-authored-by: Aditya Patwardhan <adityap@microsoft.com>
2021-11-08 14:54:48 -08:00
Travis Plunk 6d0d34f8e8
vPack release should use buildInfoJson new to 7.2 (#16402) 2021-11-08 14:50:24 -08:00
Aditya Patwardhan bc4f6b5a04
Update the usage of metadata.json for getting LTS information (#16381) 2021-11-08 14:21:31 -08:00
Aditya Patwardhan d9eb54b4fd
Add checkout to build json stage to get ci.psm1 (#16399) 2021-11-08 12:28:09 -08:00
Aditya Patwardhan 01069f03fc
Update CgManifest.json for 6.0.0 .NET packages (#16398) 2021-11-08 11:45:47 -08:00
Aditya Patwardhan 1902575129
Update metadata.json and README.md for 7.2.0 release (#16395) 2021-11-08 10:39:29 -08:00
Ilya ef69fdafc4
Remove unneeded call to File.ResolveLinkTarget from IsWindowsApplication (#16371) 2021-11-03 22:28:04 -07:00
Travis Plunk 2f7f67d1ea
Add current folder to the beginning of the module import (#16353)
* fix module import

* capture git status for notices wf

* Only create a pr if there is a diff

* Update .github/workflows/daily.yml
2021-11-03 09:52:13 -07:00
Travis Plunk 00d39fa4d5
Increment RC MSI build number by 100 (#16354) 2021-11-02 17:01:34 -07:00
Maksim Ivanyuk 674ef888a2
Add -HttpVersion parameter to web cmdlets (#15853) 2021-11-02 16:53:36 -07:00
Austin Farmer 107fd7ab1f
Add support to web cmdlets for open-ended input tags (#16193) 2021-11-02 09:39:28 -07:00
dependabot[bot] 53f8cba46f
Bump XunitXml.TestLogger from 3.0.66 to 3.0.70 (#16356) 2021-11-02 09:30:41 -07:00
Ryan Polley cf22188e95
Add more tests to Tee-Object -Encoding (#14539) 2021-11-01 23:06:05 -07:00
Travis Plunk 4eb9e8bea5
Move PR Quantifier config to subfolder (#16352) 2021-11-02 08:44:08 +05:00
Travis Plunk 64d11f44c3
Release build info json when it is preview (#16335) 2021-11-01 15:23:07 -07:00
Aditya Patwardhan 3071718053
Add an approval for releasing build-info json (#16351) 2021-11-01 15:16:00 -07:00
Aditya Patwardhan 8fbffe3e4a
Fix global tool and SDK tests in release pipeline (#16342) 2021-11-01 11:03:52 -07:00
Travis Plunk 64392f36d1
Generate manifest with latest public version of the packages (#16337)
* Generate manifest with latest public version of the packages

* update cgmanifest

* update the PR title for the notice update

* Fix code factor issue - use catch block for fall back

* removing noisy logging
2021-11-01 10:25:39 -07:00
github-actions[bot] 154feabadf
Update to the latest notices file (#16339)
Co-authored-by: TravisEz13 <TravisEz13@users.noreply.github.com>
2021-10-30 11:19:59 -07:00
Travis Plunk aa7a31b46e
Use notice task to generate license assuming cgmanifest contains all components (#16340)
* Use notice task to generate license assuming cgmanifest contains all components

* fix capture task

* fix output location

* cgmanifest using latest public

* fix additional attributions path

* split into stages to allow retry without restarting

* manually append additional attributions

* remove dead comment

* Revert "cgmanifest using latest public"

This reverts commit 6bed867300.
2021-10-30 11:00:07 -07:00
Dongbo Wang 723a50832d
Don't throw exception when trying to resolve a possible link path (#16310) 2021-10-30 08:54:23 -07:00
Travis Plunk 727326d78c
Refactor cgmanifest generator to include all components (#16326) 2021-10-29 16:29:40 -07:00
Aditya Patwardhan c44c39c92b
Fix issues in release build (#16332) 2021-10-29 11:18:43 -07:00
Aditya Patwardhan b2dd88ec8b
Update feed and analyzer dependency (#16327) 2021-10-28 20:51:35 -07:00
Dongbo Wang 979f105a99
Fix parser to generate error when array has more than 32 dimensions (#16276)
An array cannot have more than 32 dimensions. See the doc of MarkArrayType(int rank)) https://docs.microsoft.com/en-us/dotnet/api/system.type.makearraytype?view=net-5.0#System_Type_MakeArrayType_System_Int32_ for details.

The fix is to not create the ArrayTypeName instance when the number of dimensions exceeds 32, but instead, generate a parsing error.
2021-10-29 08:16:26 +05:00
dependabot[bot] 4ae539fed4
Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.0.0 (#16312) 2021-10-28 14:11:20 -07:00
github-actions[bot] 3b26fc8ae9
Update license and cgmanifest (#16325) 2021-10-28 13:48:41 -07:00
Travis Plunk f1602c215a
Fix condition in cgmanifest logic (#16324) 2021-10-28 13:47:53 -07:00
Kev Ritchie 01426b2763
Fix ConvertTo-Json -Depth to allow 100 at maximum (#16197) 2021-10-28 11:56:55 -07:00
Travis Plunk f41b6b415e
Add GitHub Workflow to keep notices up to date (#16284)
Co-authored-by: Robert Holt <rjmholt_msft@outlook.com>
2021-10-28 11:44:06 -07:00
Aditya Patwardhan 52b6d89407
Update to latest .NET 6 GA build 6.0.100-rtm.21527.11 (#16309) 2021-10-28 11:40:52 -07:00
Ilya 51e11aaedf
Remove unnecessary call to ToArray (#16307) 2021-10-28 11:22:09 -07:00
Ilya 48be7b7f45
Avoid validation for built-in file extension and color VT sequences (#16320) 2021-10-28 11:17:15 -07:00
Travis Plunk 5ce5936d78
Create compliance build (#16286)
Co-authored-by: Robert Holt <rjmholt@gmail.com>
2021-10-28 11:07:09 -07:00
Paul Higinbotham bd4e5598ce
Fix for SSH remoting when banner is enabled on SSHD endpoint (#16205) 2021-10-28 10:39:55 -07:00
Travis Plunk ffd06eb8ed
Move mapping file into product repo and add Debian 11 (#16316) 2021-10-27 17:15:28 -07:00
Travis Plunk a3c03392ca
Add a major-minor build info JSON file (#16301) 2021-10-27 17:14:50 -07:00
Dongbo Wang f2d5ae74ad
Clean up crossgen related build scripts also generate native symbols for R2R images (#16297)
* Clean up crossgen related build scripts

* Fix ci.psm1

* Clean up '-CrossGen' use in a few other files
2021-10-27 11:42:37 -07:00
Nikolay Kondratyev d28691f59e
Fix Windows build ZIP packaging (#16299) 2021-10-27 10:29:42 -07:00
Travis Plunk 14ea042cec
Revert "Update to use .NET 6 GA build (#16296)" (#16308)
This reverts commit 6302f4815a.
2021-10-26 15:57:59 -07:00
Nikolay Kondratyev d391168ece
Add wget as a dependency for Bootstrap script (#16303)
* Add wget as a dependency for installation script

* Add wget as a dependency for alpine
2021-10-26 11:50:57 -07:00
Aditya Patwardhan 15ac9485de
Fix issues reported by code signing verification tool (#16291) 2021-10-22 16:45:51 -07:00
Aditya Patwardhan 6302f4815a
Update to use .NET 6 GA build (#16296) 2021-10-22 23:12:00 +00:00
Travis Plunk e5d27d139c
Revert "add GH workflow to keep the cgmanifest up to date." (#16294)
This reverts commit 57f4ccd1fc.
2021-10-22 10:32:08 -07:00
Dongbo Wang 612aade356
Update README.md and metadata.json files for v7.2.0-rc.1 release (#16285) 2021-10-21 17:03:47 -07:00
Dongbo Wang 7ce4e5a766
Update ChangeLog for 7.2.0-rc.1 and also fix RPM packaging (#16290) 2021-10-21 16:15:13 -07:00
dependabot[bot] 247bf620fc
Bump Microsoft.CodeAnalysis.NetAnalyzers (#16271)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rtm.21516.1 to 6.0.0-rtm.21518.1.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-21 12:33:26 -07:00
Travis Plunk 57f4ccd1fc
add GH workflow to keep the cgmanifest up to date. 2021-10-20 13:11:22 -07:00
Aditya Patwardhan 3253124f69
Update ThirdPartyNotices.txt (#16283) 2021-10-20 11:52:54 -07:00
Aditya Patwardhan 7ac276ac25
Update testartifacts.yml to use ubuntu-latest image (#16279) 2021-10-20 11:51:58 -07:00
Aditya Patwardhan 66508053f5
Update version of Microsoft.PowerShell.Native and Microsoft.PowerShell.MarkdownRender packages (#16277) 2021-10-19 17:31:57 -07:00
Travis Plunk b08ab5afea
Add script to generate cgmanifest.json (#16278) 2021-10-19 17:27:44 -07:00
Travis Plunk 5d447cb773
Disallow all COM for AppLocker system lock down (#16268)
Co-authored-by: Paul Higinbotham <paulhi@microsoft.com>
2021-10-19 11:18:37 -07:00
Aditya Patwardhan a82630a17a
Add cgmanifest.json for generating correct third party notice file (#16266) 2021-10-19 11:17:46 -07:00
Dongbo Wang 89dd5b8127
Remove the outdated test (#16269) 2021-10-19 13:45:36 +05:00
dependabot[bot] b4c5c29dff
Bump Microsoft.CodeAnalysis.NetAnalyzers from 6.0.0-rtm.21504.2 to 6.0.0-rtm.21516.1 (#16264) 2021-10-18 15:16:49 -07:00
Travis Plunk 0a80da013c
Only upload stable buildinfo for stable releases (#16251) 2021-10-18 13:10:59 -07:00
Travis Plunk b413d63d14
Make RPM license recognized (#16189) 2021-10-18 13:07:41 -07:00
Travis Plunk 240b3261b8
Don't upload dep or tar.gz for RPM because there are none. (#16230) 2021-10-18 13:07:20 -07:00
Aditya Patwardhan 061a644019
Add condition to generate release files in local dev build only (#16259) 2021-10-15 16:42:23 -07:00
Aditya Patwardhan 45b80a555a
Update .NET 6 to version 6.0.100-rc.2.21505.57 (#16249) 2021-10-15 13:51:26 -07:00
Travis Plunk 1be0c92486
change order of try-catch-finally and split out arm runs (#16252) 2021-10-15 11:43:18 -07:00
Aditya Patwardhan 52e82d0d7f
Ensure psoptions.json and manifest.spdx.json files always exist in packages (#16258) 2021-10-15 11:29:19 -07:00
Andrew a5f283537a
Removed old not-used-anymore docker-based tests for PS release packages (#16224) 2021-10-15 10:46:36 -07:00
Travis Plunk 3ecf4b3a1d
Update to vPack task version to 12 (#16250) 2021-10-14 17:24:10 -07:00
Travis Plunk d74c6bfb7b
Configure ApplicationInsights to not send cloud role name (#16246)
Configure ApplicationInsights to not send cloud role name

Co-authored-by: Aditya Patwardhan <adityap@microsoft.com>
2021-10-14 15:12:37 -07:00
Travis Plunk 3893c4d55b
Disallow Add-Type in NoLanguage mode on a locked down machine (#16245) 2021-10-14 14:53:41 -07:00
Dongbo Wang cd6eccb1ac
Update the change logs for v7.0.8 and v7.1.5 releases (#16248) 2021-10-14 14:51:25 -07:00
Keith Hill b94dd91e74
Specify exe path as TargetObect for non-zero exit code ErrorRecord (#16108) 2021-10-14 14:47:54 -07:00
Aditya Patwardhan 9a63f412ef
Update README.md and metadata.json for 7.0.8 and 7.1.5 releases (#16144) 2021-10-14 14:31:49 -07:00
Dongbo Wang c784dde5a2
Remove the unused FollowSymLink function (#16231) 2021-10-14 14:14:05 -07:00
Dongbo Wang 080b754cb9
Remove unneeded NuGetConfigFile resource string (#16232) 2021-10-14 14:13:24 -07:00
Travis Plunk bd5dc97087
Add Software Bill of Materials to the main packages (#16202) 2021-10-12 15:40:43 -07:00
Travis Plunk e4367386b3
Sign third party exes (#16229) 2021-10-12 14:32:10 -07:00
Steve Lee d0e823797f
Don't allow Move-Item with FileSystemProvider to move a directory into itself (#16198) 2021-10-12 14:16:32 -07:00
Travis Plunk 329250c974
Upgrade set-value package for markdown test (#16196) 2021-10-12 14:14:39 -07:00
Dongbo Wang c8984c0517
Make property names for the color VT sequences consistent with documentations (#16212) 2021-10-11 14:58:51 -07:00
Dongbo Wang a32700a1c1
Add clean block to script block as a peer to begin, process, and end to allow easy resource cleanup (#15177) 2021-10-11 14:49:09 -07:00
Dongbo Wang fa4bfb447e
Use Ubuntu 20.04 for SSH remoting test (#16225) 2021-10-11 13:43:42 -07:00
Ikko Ashimine ce951602a4
Fix typo in TypeTable.cs (#16220)
occured -> occurred
2021-10-11 10:15:16 -07:00
Sean Wheeler 41093f6d7a
Fixes #16176 - replace snippet tag with code tag in comments (#16177) 2021-10-08 21:01:28 +05:00
Dongbo Wang e98a8c8601
Fix '-PipelineVariable' to set variable in the right scope (#16199) 2021-10-07 10:26:21 -07:00
dwtaber 53ac646cc0
Invoke-Command: improve handling of variables with $using: expression (#16113) 2021-10-06 10:43:56 -07:00
Dongbo Wang 2f57bf848b
Change Target from a CodeProperty to be an AliasProperty that points to FileSystemInfo.LinkTarget (#16165) 2021-10-05 10:29:16 -07:00
dependabot[bot] 4c84665bc7
Bump Microsoft.CodeAnalysis.NetAnalyzers (#16194)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rtm.21480.8 to 6.0.0-rtm.21504.2.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-05 10:28:10 -07:00
dependabot[bot] cfe45defc1
Bump Microsoft.CodeAnalysis.NetAnalyzers from 6.0.0-rc2.21458.5 to 6.0.0-rtm.21480.8 (#16183)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc2.21458.5 to 6.0.0-rtm.21480.8.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-03 13:48:25 -07:00
Travis Plunk 6b42f445ed
Move vPack build to 1ES Pool (#16169) 2021-10-03 13:36:55 -07:00
Travis Plunk 4336ebaf29
Fix Microsoft update spelling issue. (#16178) 2021-10-03 13:35:19 -07:00
Travis Plunk 7cf1ef8c85 merge v7.2.0-preview.10 into master 2021-09-29 12:33:07 -07:00
Aditya Patwardhan f4ee1d7f12
Update README.md and metadata.json for next preview release (#16107) 2021-09-28 17:13:11 -07:00
Travis Plunk 7f36609cf4
fix issue with hash file getting created before we have finished get-childitem (#16170) 2021-09-28 16:58:26 -07:00
Travis Plunk 3e995cea82
fix issue with hash file gettting created before we have finished get-childitem 2021-09-28 15:49:13 -07:00
Aditya Patwardhan d57f10ed9a Merged PR 17284: Add changelog for 7.2.0-preview.10
Add changelog for 7.2.0-preview.10
2021-09-28 22:20:35 +00:00
Travis Plunk be83b2fc0a Add sha256 hashes to release (#16147)
* Add sha256 hashes to release

* Update tools/releaseBuild/azureDevOps/templates/release-CreateGitHubDraft.yml
2021-09-27 09:20:13 -07:00
Aditya Patwardhan 860017b2d6 Update Microsoft.CodeAnalysis.CSharp version (#16138) 2021-09-27 09:20:00 -07:00
Travis Plunk 845a77c3ce Change path for Component Governance for build to the path we actually use to build (#16137) 2021-09-27 09:19:42 -07:00
Andy Schwartzmeyer 3ed7571f94
Update Windows PowerShell issues link (#16105) 2021-09-23 22:28:57 -07:00
Travis Plunk 9eb63debcd
Add sha256 hashes to release (#16147)
* Add sha256 hashes to release

* Update tools/releaseBuild/azureDevOps/templates/release-CreateGitHubDraft.yml
2021-09-23 17:31:57 -07:00
Travis Plunk 6589eeb610
Change path for Component Governance for build to the path we actually use to build (#16137) 2021-09-23 07:06:06 -07:00
Aditya Patwardhan c4c312cc31
Update Microsoft.CodeAnalysis.CSharp version (#16138) 2021-09-23 07:04:14 -07:00
Steve Lee e81048b6ab
Remove Joey from Committee and WG membership (#16119) 2021-09-17 17:37:18 +00:00
xtqqczze 49e21be29d
Update more docs for net6.0 TFM (#16102) 2021-09-16 08:51:48 +05:00
Sean Wheeler 6d2feeee38
Change 'snippet' tag to 'code' tag in XML comments (#16106) 2021-09-15 15:42:13 -07:00
Dongbo Wang 6532f0d775 Use PlainText when writing to a host that doesn't support VT (#16092) 2021-09-15 11:13:17 -07:00
dependabot[bot] 0e79e596e4 Bump Microsoft.CodeAnalysis.NetAnalyzers (#16070)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc2.21452.5 to 6.0.0-rc2.21458.5.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-15 11:13:10 -07:00
Steve Lee bd5e985cb0 Remove support for AppExeCLinks to retrieve target (#16044) 2021-09-15 11:13:05 -07:00
Aditya Patwardhan 1fb6443567 Update .NET to 6.0.100-rc.1.21458.32 (#16066) 2021-09-15 11:12:51 -07:00
Travis Plunk 5e2e44caee Update minimum required OS version for macOS (#16088) 2021-09-15 11:12:46 -07:00
Steve Lee 171c7ffdc8 Move GetOuputString() and GetFormatStyleString() to PSHostUserInterface as public API (#16075) 2021-09-15 11:12:39 -07:00
Dongbo Wang 72c8c9b24a Set locale correctly on Linux CI (#16073) 2021-09-15 11:12:33 -07:00
Steve Lee c1401377d4 Add isOutputRedirected parameter to GetFormatStyleString() method (#14397) 2021-09-15 11:12:26 -07:00
Paul Higinbotham 1dcc873952 Fix ConvertTo-SecureString with key regression due to .NET breaking change (#16068) 2021-09-15 11:12:21 -07:00
Robert Holt 2fd2dfce12 Ensure locale is set correctly on Ubuntu 20.04 in CI (#16067) 2021-09-15 11:12:16 -07:00
dependabot[bot] af19120251 Bump Microsoft.CodeAnalysis.NetAnalyzers (#16045) 2021-09-15 11:12:08 -07:00
Steve Lee 7c9bf378f0 Fix regression in Move-Item to only fallback to CopyAndDelete in specific cases (#16029)
If Move fails, check if known case before attempting CopyAndDelete:

- if an item is attempted to be renamed across filesystem mount boundaries.
- if the source and destination do not have the same root path.
2021-09-15 11:11:20 -07:00
github-actions[bot] 6ebc95e5dd Update .NET SDK version from 6.0.100-rc.1.21430.44 to 6.0.100-rc.1.21455.2 (#16041) 2021-09-15 11:11:12 -07:00
Robert Holt 5480f32889 Improve CommandInvocationIntrinsics API documentation and style (#14369) 2021-09-15 11:11:05 -07:00
Dongbo Wang 13c5aee0f8 Set $? correctly for command expression with redirections (#16046) 2021-09-15 11:10:52 -07:00
Aditya Patwardhan b29fa13507 Fix the GitHub Action for updating .NET daily builds (#16042) 2021-09-15 11:10:08 -07:00
dependabot[bot] 34188fceef Bump Microsoft.CodeAnalysis.CSharp from 4.0.0-3.final to 4.0.0-4.21430.4 (#16036) 2021-09-15 11:10:03 -07:00
Ikko Ashimine 0897956590 Fix typo in build.psm1 (#16038)
targetting -> targeting
2021-09-15 11:09:59 -07:00
Travis Plunk 87b714b612 Add .stylecop to filetypexml and format it (#16025) 2021-09-15 11:09:54 -07:00
Aditya Patwardhan b1e9eab8ec Bump .NET to 6.0.100-rc.1.21430.44 (#16028) 2021-09-15 11:09:48 -07:00
Paul Higinbotham 5f2e397154 Remove duplicate remote server mediator code (#16027) 2021-09-15 11:09:44 -07:00
Aditya Patwardhan 7e65ade6bd Move from PkgES hosted agents to 1ES hosted agents (#16023) 2021-09-15 11:09:38 -07:00
dependabot[bot] b5ef3551a6 Bump Microsoft.CodeAnalysis.NetAnalyzers (#16021)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc2.21423.3 to 6.0.0-rc2.21430.2.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-15 11:09:32 -07:00
Aditya Patwardhan 88df7e91b7 Update Ubuntu images to use Ubuntu 20.04 (#15906) 2021-09-15 11:09:26 -07:00
xtqqczze 0c984f2141 Use bool?.GetValueOrDefault() in FormatWideCommand (#15988) 2021-09-15 11:09:21 -07:00
Dongbo Wang b9ca321bd4 Fix the mac build by updating the pool image name (#16010) 2021-09-15 11:09:15 -07:00
Aditya Patwardhan 0a56fd1efd Use Alpine 3.12 for building PowerShell for alpine (#16008) 2021-09-15 11:09:10 -07:00
Ilya d36dc85612 Enable two previously disabled Get-Process tests (#15845) 2021-09-15 11:09:04 -07:00
Joel Sallow (/u/ta11ow) 2afa687b04 Use CurrentCulture when handling conversions to DateTime in Add-History (#16005) 2021-09-15 11:08:51 -07:00
github-actions[bot] b414fff353 Update .NET SDK version from 6.0.100-preview.6.21355.2 to 6.0.100-rc.1.21426.1 (#15648) 2021-09-15 11:08:39 -07:00
Aditya Patwardhan d54f80ee78 Ignore error from Find-Package (#15999) 2021-09-15 11:08:24 -07:00
Aditya Patwardhan d1f4a16c6d Find packages separately for each source in UpdateDotnetRuntime.ps1 script (#15998) 2021-09-15 11:02:51 -07:00
Daryl Graves 6a2c9c80a5 Format-Wide: Fix NullReferenceException (#15990) 2021-09-15 11:02:45 -07:00
Aditya Patwardhan 93f8840260 Enable sending Teams notification when workflow fails (#15982) 2021-09-15 11:01:13 -07:00
Aditya Patwardhan cb0773c003 Update metadata to start using .NET 6 RC1 builds (#15981) 2021-09-15 11:01:04 -07:00
dependabot[bot] 4a8a41333d Bump Microsoft.CodeAnalysis.NetAnalyzers (#15985) 2021-09-15 11:00:51 -07:00
Aditya Patwardhan d3465ab76f Revert "Use GetValueOrDefault() for nullable PSLanguageMode (#13849)" (#15980) 2021-09-15 10:59:15 -07:00
Dongbo Wang fd3579badb
Use PlainText when writing to a host that doesn't support VT (#16092) 2021-09-15 10:38:26 -07:00
Kellen Stuart 4c958d8631
Update build documentation to reflect .NET 6 (#15751) 2021-09-15 08:32:42 -07:00
dependabot[bot] f1b122588b
Bump Microsoft.CodeAnalysis.NetAnalyzers (#16070)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc2.21452.5 to 6.0.0-rc2.21458.5.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-15 08:58:57 +05:00
Steve Lee ed249d0fe6
Remove support for AppExeCLinks to retrieve target (#16044) 2021-09-14 14:08:00 -07:00
Dongbo Wang 1704ca6885
Add benchmark to test compiler performance (#16083) 2021-09-14 13:51:18 -07:00
Aditya Patwardhan 55ccbb6803
Update .NET to 6.0.100-rc.1.21458.32 (#16066) 2021-09-13 16:45:10 -07:00
Travis Plunk 8b962ca1db
Update minimum required OS version for macOS (#16088) 2021-09-13 15:56:12 -07:00
Steve Lee dad7a34ee7
Move GetOuputString() and GetFormatStyleString() to PSHostUserInterface as public API (#16075) 2021-09-10 09:05:07 -07:00
Dongbo Wang 74e283c4f9
Set locale correctly on Linux CI (#16073) 2021-09-09 13:59:31 -07:00
Steve Lee 024f409763
Add isOutputRedirected parameter to GetFormatStyleString() method (#14397) 2021-09-09 11:50:36 -07:00
Paul Higinbotham 0d7ba2fe5a
Fix ConvertTo-SecureString with key regression due to .NET breaking change (#16068) 2021-09-09 10:36:05 -07:00
Robert Holt 12dbdd9f05
Ensure locale is set correctly on Ubuntu 20.04 in CI (#16067) 2021-09-08 14:30:44 -07:00
dependabot[bot] 4c5f987e6c
Bump Microsoft.CodeAnalysis.NetAnalyzers (#16045) 2021-09-08 14:19:07 -07:00
Steve Lee 5872e47254
Fix regression in Move-Item to only fallback to CopyAndDelete in specific cases (#16029)
If Move fails, check if known case before attempting CopyAndDelete:

- if an item is attempted to be renamed across filesystem mount boundaries.
- if the source and destination do not have the same root path.
2021-09-08 11:20:30 +05:00
github-actions[bot] 1e823e6677
Update .NET SDK version from 6.0.100-rc.1.21430.44 to 6.0.100-rc.1.21455.2 (#16041) 2021-09-07 14:11:13 -07:00
Robert Holt 17986d88c1
Improve CommandInvocationIntrinsics API documentation and style (#14369) 2021-09-03 16:05:30 -07:00
Dongbo Wang 66b5d50170
Set $? correctly for command expression with redirections (#16046) 2021-09-03 15:36:31 -07:00
Aditya Patwardhan 14ced821c9
Fix the GitHub Action for updating .NET daily builds (#16042) 2021-09-03 15:18:50 -07:00
dependabot[bot] d3d8897619
Bump Microsoft.CodeAnalysis.CSharp from 4.0.0-3.final to 4.0.0-4.21430.4 (#16036) 2021-09-02 09:59:58 -07:00
Ikko Ashimine 3f571d8a8f
Fix typo in build.psm1 (#16038)
targetting -> targeting
2021-09-02 17:42:06 +05:00
Travis Plunk 6cde546203
Add .stylecop to filetypexml and format it (#16025) 2021-09-01 10:36:58 -07:00
Aditya Patwardhan 7fc60d1d5f
Bump .NET to 6.0.100-rc.1.21430.44 (#16028) 2021-09-01 10:35:27 -07:00
Paul Higinbotham 946341b2eb
Remove duplicate remote server mediator code (#16027) 2021-09-01 09:31:19 -07:00
Aditya Patwardhan 15f2730c4c
Move from PkgES hosted agents to 1ES hosted agents (#16023) 2021-08-31 15:16:10 -07:00
dependabot[bot] 6de53f89cf
Bump Microsoft.CodeAnalysis.NetAnalyzers (#16021)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc2.21423.3 to 6.0.0-rc2.21430.2.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-31 12:44:55 +05:00
Aditya Patwardhan 3bb6b2736a
Update Ubuntu images to use Ubuntu 20.04 (#15906) 2021-08-30 13:56:52 -07:00
xtqqczze fa50e4dcae
Use bool?.GetValueOrDefault() in FormatWideCommand (#15988) 2021-08-30 08:51:07 -07:00
Dongbo Wang e3d8353e3c
Fix the mac build by updating the pool image name (#16010) 2021-08-28 12:51:37 -07:00
Aditya Patwardhan 008f4b057f
Use Alpine 3.12 for building PowerShell for alpine (#16008) 2021-08-27 14:05:39 -07:00
Ilya 102ccffd14
Enable two previously disabled Get-Process tests (#15845) 2021-08-26 21:53:27 -07:00
Joel Sallow (/u/ta11ow) fde119e28b
Use CurrentCulture when handling conversions to DateTime in Add-History (#16005) 2021-08-26 21:41:01 -07:00
Steven Liekens 02b532fb1d
Fix link header parsing to handle unquoted rel types (#15973) 2021-08-26 15:11:15 -07:00
github-actions[bot] d33b223674
Update .NET SDK version from 6.0.100-preview.6.21355.2 to 6.0.100-rc.1.21426.1 (#15648) 2021-08-26 13:07:43 -07:00
Dongbo Wang 403767d7f7
Fix a casting error when using $PSNativeCommandUsesErrorActionPreference (#15993) 2021-08-25 17:05:54 -07:00
Aditya Patwardhan 15836f289c
Ignore error from Find-Package (#15999) 2021-08-25 15:59:58 -07:00
Aditya Patwardhan b09f6973fd
Find packages separately for each source in UpdateDotnetRuntime.ps1 script (#15998) 2021-08-25 14:19:55 -07:00
Daryl Graves 321b726306
Format-Wide: Fix NullReferenceException (#15990) 2021-08-25 09:45:00 -07:00
Robert Holt a4d14576b3
Make the native command error handling optionally honor ErrorActionPreference (#15897) 2021-08-24 15:27:22 -07:00
Aditya Patwardhan 56d22bc386
Enable sending Teams notification when workflow fails (#15982) 2021-08-24 10:20:49 -07:00
Aditya Patwardhan bd84f4265b
Update metadata to start using .NET 6 RC1 builds (#15981) 2021-08-24 09:55:42 -07:00
dependabot[bot] 07e466871a
Bump Microsoft.CodeAnalysis.NetAnalyzers (#15985) 2021-08-24 08:09:55 -07:00
Aditya Patwardhan ab5e1779a3
Revert "Use GetValueOrDefault() for nullable PSLanguageMode (#13849)" (#15980) 2021-08-23 17:20:29 -07:00
Dongbo Wang 8f8bc02c8d
Merge the v7.2.0-preview.9 release branch back to GitHub master (#15983) 2021-08-23 15:32:42 -07:00
Dongbo Wang b283188573
Update readme and metadata.json for 7.2.0-preview.9 release (#15957) 2021-08-23 15:08:41 -07:00
James Truher [MSFT] c39d672560
Remove 4 assertions which cause debug build test runs to fail (#15963) 2021-08-22 10:49:07 -07:00
Dongbo Wang e70ad6ce25
Publish global tool package for stable releases (#15961) 2021-08-20 11:23:30 -07:00
dependabot[bot] 40928f7a97
Bump Microsoft.CodeAnalysis.NetAnalyzers to newer version (#15962) 2021-08-20 09:24:35 -07:00
Dongbo Wang f7b3389331 Merged PR 16810: Update the changelog for 7.2.0-preview.9
Update the changelog for 7.2.0-preview.9
2021-08-19 23:48:32 +00:00
dependabot[bot] 176303d172
Bump Microsoft.CodeAnalysis.NetAnalyzers (#15944)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc1.21413.4 to 6.0.0-rc2.21417.3.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-18 14:06:30 +05:00
Aditya Patwardhan 7d53fbbdf7
Update change logs for 7.0.7 and 7.1.4 (#15921) 2021-08-17 11:58:19 -07:00
arfy slowy 55855fbe5d
Fix spelling in XML docs (#15939) 2021-08-17 09:01:04 +05:00
Steve Lee a162856af5
Change default to OutputRendering.Host and remove OutputRendering.Automatic (#15882) 2021-08-16 14:17:07 -07:00
dependabot[bot] b3a12b4faa
Bump Microsoft.NET.Test.Sdk from 16.10.0 to 16.11.0 (#15934) 2021-08-16 08:52:07 -07:00
dependabot[bot] 9fcc5631b1
Bump Microsoft.CodeAnalysis.NetAnalyzers to newer version (#15935) 2021-08-16 08:50:15 -07:00
Dongbo Wang eeb0407377
Add more tests to validate the current command error handling behaviors (#15919) 2021-08-14 14:31:49 -07:00
Dongbo Wang 286f12a37c
Update .NET adapter to handle interface static members properly (#15908) 2021-08-14 07:56:14 -07:00
Dongbo Wang 05e64135d2
Don't use ArgumentList when creating COM object as it's not applicable to the COM parameter set (#15915) 2021-08-14 07:32:51 -07:00
Steve Lee dda6c156d2
Fix $PSStyle list output to correctly show TableHeader (#15928) 2021-08-13 15:40:07 -07:00
Paul Higinbotham 1ec61d955c
Remove implicit remoting batch experimental feature (#15863)
It was decided by committee (#15862) to remove this experimental feature. It was an interesting idea but the implementation did not cover important cases, and could not be updated easily to do so.
2021-08-13 08:34:31 +05:00
Aditya Patwardhan e42343ba84
Update README.md and metadata.json for next releases (#15910) 2021-08-12 15:57:04 -07:00
Armaan Mcleod b70f06ccc6
Fix issue with Get-Process -Module failing to stop when piped to Select-Object (#15682) 2021-08-12 09:06:58 -07:00
Paul Higinbotham e2c23fc5bd
Add error catch for unauthorized access when removing AppLocker test files (#15881) 2021-08-10 11:03:53 -07:00
dependabot[bot] 7c7526a3a1
Bump Microsoft.CodeAnalysis.NetAnalyzers (#15904)
Bumps [Microsoft.CodeAnalysis.NetAnalyzers](https://github.com/dotnet/roslyn-analyzers) from 6.0.0-rc1.21366.2 to 6.0.0-rc1.21406.1.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/main/PostReleaseActivities.md)
- [Commits](https://github.com/dotnet/roslyn-analyzers/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.NetAnalyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-10 13:01:49 +05:00
Robert Holt 2f5150f5e5
Make Measure-Object property test independent of the filesystem (#15879) 2021-08-09 15:27:09 -07:00
Steve Lee cced56d75a
Make PS-Committee reviewed experimental features stable (#15864) 2021-08-09 14:01:57 -07:00
Aditya Patwardhan 427830843b
Add disable implicit namespace addition from test projects (#15895) 2021-08-09 13:36:40 -07:00
Aditya Patwardhan 2ebac33a78
Update Language Version to 10 and fix related issues (#15886) 2021-08-09 12:21:14 -07:00
dependabot[bot] 0a342601c8
Bump NJsonSchema from 10.5.1 to 10.5.2 (#15891)
Bumps NJsonSchema from 10.5.1 to 10.5.2.

---
updated-dependencies:
- dependency-name: NJsonSchema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-09 17:37:37 +05:00
xtqqczze 40b2ad59cf
Update Microsoft.CodeAnalysis.NetAnalyzers (#15812) 2021-08-09 16:36:45 +05:00
dependabot[bot] a4181ab57e
Bump NJsonSchema from 10.5.0 to 10.5.1 (#15883)
Bumps NJsonSchema from 10.5.0 to 10.5.1.

---
updated-dependencies:
- dependency-name: NJsonSchema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-06 13:09:51 +05:00
xtqqczze 58483e1366
Replace GetFiles in CompletionCompleters (#14329) 2021-08-05 16:35:38 -07:00
xtqqczze 01a4714b76
Enable CA1067: Override Object.Equals(object) when implementing IEquatable<T> (#13871)
* Enable CA1067: Override Object.Equals(object) when implementing IEquatable<T>

* Group Equals methods

* Reformat xml documentation

* Update src/System.Management.Automation/engine/EventManager.cs

Co-authored-by: Joel Sallow (/u/ta11ow) <32407840+vexx32@users.noreply.github.com>

Co-authored-by: Joel Sallow (/u/ta11ow) <32407840+vexx32@users.noreply.github.com>
2021-08-05 16:32:33 -07:00
xtqqczze 44595a40ec
Fix CA1052 in TypeCatalogGen (#15840) 2021-08-05 16:21:46 -07:00
dependabot[bot] ce6f04aa8a
Bump Microsoft.ApplicationInsights from 2.17.0 to 2.18.0 (#15842)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-05 15:23:54 -07:00
Ilya 45adfee558
Enhance Remove-Item to work with OneDrive (#15571) 2021-08-05 11:41:55 -07:00
Robert Holt 920427260c
Make global tool entrypoint class static (#15880) 2021-08-05 17:44:52 +00:00
dependabot[bot] 61af30f3b1
Bump NJsonSchema from 10.4.6 to 10.5.0 (#15874)
Bumps NJsonSchema from 10.4.6 to 10.5.0.

---
updated-dependencies:
- dependency-name: NJsonSchema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-05 13:55:13 +05:00
Steve Lee 2ae0e4d9dd
Update ServerRemoteHost Version to be same as PSVersion (#15809) 2021-08-04 15:01:18 -07:00
Ilya aaaa0f2baa
Thread-safe HttpKnownHeaderNames initialization (#15519) 2021-08-04 15:00:26 -07:00
lselden 3e86f9b287
ConvertTo-Csv: Quote fields with quotes and newlines when using -UseQuotes AsNeeded (#15765)
Co-authored-by: Ilya <darpa@yandex.ru>
Co-authored-by: lselden <luke.selden@vbrick.com>
2021-08-04 14:47:57 -07:00
James Truher [MSFT] 5fea4c39fd
Add more information when a syslog parsing error occurs (#15857) 2021-08-04 18:22:22 +00:00
Travis Plunk bf4740dec6
Update CodeQL workflow to use ubuntu-18.04 (#15868) 2021-08-04 11:05:40 -07:00
Steve Lee 6933c5b473
Only allow -File to accept .ps1 scripts on Windows (#15859)
Co-authored-by: Ilya <darpa@yandex.ru>
Co-authored-by: Paul Higinbotham <paulhi@microsoft.com>
2021-08-03 13:43:00 -07:00
Steve Lee a6c147c1f8
Update PS-Committee members (#15837) 2021-08-03 12:09:25 -07:00
Aditya Patwardhan d050e67726
Update PowerShell team members in the change log generation script (#15817) 2021-08-03 08:23:40 -07:00
Staffan Gustafsson 1bfa1c36a7
Forwarding progress stream changes from Foreach-Object -Parallel runspaces (#14271) 2021-07-31 18:51:03 +05:00
dependabot[bot] 1a55208590
Bump NJsonSchema from 10.4.5 to 10.4.6 (#15822)
Bumps NJsonSchema from 10.4.5 to 10.4.6.

---
updated-dependencies:
- dependency-name: NJsonSchema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-30 21:18:45 +05:00
James Truher [MSFT] 881f31b4b3
Harden logic when looking for syslog entries to be sure that we select based on PID (#15841) 2021-07-30 10:10:33 +05:00
xtqqczze a77be13227
Partially revert changes to code style src/Microsoft.Management.UI.Internal/ (#15839) 2021-07-29 12:32:21 -07:00
xtqqczze 0f2f23f67a
Enable IDE0049 PreferBuiltInOrFrameworkType (#14491) 2021-07-28 12:39:14 -07:00
xtqqczze 055b7f3003
Fix CA1052 for public API to make classes static when they only have static methods (#15775) 2021-07-28 12:28:24 -07:00
xtqqczze 3733a0bb37
Avoid unnecessary StringCollection allocation in formatting code (#15832) 2021-07-27 11:18:53 -07:00
Steve Lee 5e15f66f97
Add validation to $PSStyle to reject printable text as ANSI escape sequence (#15825) 2021-07-27 17:14:20 +00:00
Robert Holt af19ece88a
Update spelling exceptions for latest changelog (#15829) 2021-07-26 11:35:01 -07:00
xtqqczze 6a21bcc967
Specify api_surface property for all code quality rules (#15778) 2021-07-23 09:07:36 +05:00
Aditya Patwardhan 336bec3569
Changes for v7.2.0-preview.8 release (#15820)
Changelog for `v7.2.0-preview.8` release
2021-07-22 17:18:23 -07:00
Aditya Patwardhan 0d30ebaae9
Update README and metadata files for release v7.2.0-preview.8 (#15819) 2021-07-22 17:02:01 -07:00
Travis Plunk 10dee693e1
Enable /rebase to automatically rebase a PR (#15808) 2021-07-22 10:21:45 -07:00
Thomas Nieto 7777afc005
Add -PassThru parameter to Set-Clipboard (#13713) 2021-07-22 10:17:53 -07:00
Seth Falco 0002f7e8be
EditorConfig: don't replace tabs with spaces in tsv files (#15815) 2021-07-22 10:30:29 +05:00
Peter Schneider de5dc63379
Encoding Parameter for Tee-Object (#12135) 2021-07-22 09:26:07 +05:00
Joel Sallow (/u/ta11ow) efa9b25193
ConvertTo-Csv / Export-Csv - Serialize IDictionary objects with key/value pairs as properties (#11029) 2021-07-22 04:05:17 +00:00
Thomas Nieto 05943c6c48
Add position 0 to Write-Error parameters (#13813) 2021-07-21 18:05:06 -07:00
399 changed files with 18377 additions and 7847 deletions

View file

@ -44,6 +44,9 @@ indent_size = 2
[*.{props,targets,config,nuspec}]
indent_size = 2
[*.tsv]
indent_style = tab
# Dotnet code style settings:
[*.cs]
# Sort using and Import directives with System.* appearing first

View file

@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Windows PowerShell
url: https://windowsserver.uservoice.com/forums/301869-powershell
url: https://support.microsoft.com/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332
about: Windows PowerShell issues or suggestions.
- name: Support
url: https://github.com/PowerShell/PowerShell/blob/master/.github/SUPPORT.md

11
.github/prquantifier.yaml vendored Normal file
View file

@ -0,0 +1,11 @@
# https://github.com/microsoft/PullRequestQuantifier/blob/main/docs/prquantifier-yaml.md
Excluded:
# defaults
- '*.csproj'
- prquantifier.yaml
- package-lock.json
- '*.md'
- '*.sln'
# autogenerated files
- cgmanifest.json
- assets/wix/files.wxs

View file

@ -0,0 +1,27 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
function Set-GWVariable {
param(
[Parameter(Mandatory = $true)]
[string]$Name,
[Parameter(Mandatory = $true)]
[string]$Value
)
Write-Verbose "Setting CI variable $Name to $Value" -Verbose
if ($env:GITHUB_ENV) {
"$Name=$Value" | Out-File $env:GITHUB_ENV -Append
}
}
function Get-GWTempPath {
$temp = [System.IO.Path]::GetTempPath()
if ($env:RUNNER_TEMP) {
$temp = $env:RUNNER_TEMP
}
Write-Verbose "Get CI Temp path: $temp" -Verbose
return $temp
}

View file

@ -17,7 +17,7 @@ env:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
strategy:
fail-fast: false

View file

@ -30,21 +30,25 @@ jobs:
git fetch --prune --unshallow --tags
- name: Execute Update .NET script
run: |
Import-Module ./.github/workflows/GHWorkflowHelper
$currentVersion = (Get-Content .\global.json | ConvertFrom-Json).sdk.version
Write-Verbose "OLD_VERSION=$currentVersion" -Verbose
"OLD_VERSION=$currentVersion" | Out-File $env:GITHUB_ENV -Append
Set-GWVariable -Name OLD_VERSION -Value $currentVersion
./tools/UpdateDotnetRuntime.ps1 -UpdateMSIPackaging
./tools/UpdateDotnetRuntime.ps1 -UpdateMSIPackaging -UseInternalFeed
$newVersion = (Get-Content .\global.json | ConvertFrom-Json).sdk.version
Write-Verbose "NEW_VERSION=$newVersion" -Verbose
"NEW_VERSION=$newVersion" | Out-File $env:GITHUB_ENV -Append
Set-GWVariable -Name NEW_VERSION -Value $newVersion
if ($currentVersion -ne $newVersion) {
Write-Verbose "CREATE_PR=true" -Verbose
"CREATE_PR=true" | Out-File $env:GITHUB_ENV -Append
Set-GWVariable -Name CREATE_PR -Value 'true'
}
- name: Microsoft Teams Notifier
uses: skitionek/notify-microsoft-teams@master
if: failure()
with:
webhook_url: ${{ secrets.PS_BUILD_TEAMS_CHANNEL }}
overwrite: "{title: `Failure in updating .NET build. Look at ${workflow_link}`}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
uses: peter-evans/create-pull-request@v3
id: cpr
if: env.CREATE_PR == 'true'
with:
@ -52,5 +56,43 @@ jobs:
title: "Update .NET SDK version from `${{ env.OLD_VERSION }}` to `${{ env.NEW_VERSION }}`"
base: master
branch: dotnet_update
update-tpn:
name: Update Notices File
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Update Notices file
run: |
Invoke-WebRequest -Uri https://aka.ms/pwsh-daily-tpn -OutFile ./ThirdPartyNotices.txt
- name: Capture Git Status
run: |
git status --short
- name: Check if we need to create a PR
run: |
$ErrorActionPreference = 'continue'
git diff --quiet ThirdPartyNotices.txt
$exitCode = $LASTEXITCODE
Write-Verbose -Message "Exit code: $exitCode" -Verbose
if ($LASTEXITCODE -ne 0) {
Import-Module ./.github/workflows/GHWorkflowHelper
Set-GWVariable -Name CREATE_PR -Value 'true'
} else {
Write-Verbose "No difference found. Not creating a PR." -Verbose
}
exit 0
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
id: cprtpn
if: env.CREATE_PR == 'true'
with:
commit-message: "Update to the latest notice file"
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
title: "Update to the latest notice file"
reviewers: travisez13
base: master
draft: false
branch: update-cgmanifest

21
.github/workflows/rebase.yml vendored Normal file
View file

@ -0,0 +1,21 @@
# This cannot rebase workflow changes into a PR
# It also only works if the GITHUB_TOKEN has permission to push to the branch
# see: https://github.com/cirrus-actions/rebase/issues/12#issuecomment-632594995
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

57
.github/workflows/update-cgmanifest.yml vendored Normal file
View file

@ -0,0 +1,57 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
name: Update cgmanifest
on:
workflow_dispatch:
pull_request:
branches:
- master
defaults:
run:
shell: pwsh
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
CGMANIFEST_PATH: ''
NUGET_PACKAGES: ${{ github.workspace }}\.nuget\packages
jobs:
update-cgmanifest:
name: Update cgmanifest
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache DotNet
uses: actions/cache@v2
with:
path: |
~\AppData\Local\Microsoft\dotnet
${{ github.workspace }}\.nuget\packages
key: ${{ runner.os }}-${{ hashFiles('**\DotnetRuntimeMetadata.json') }}-${{ hashFiles('**\nuget.config') }}
- name: Sync tags
run: |
git fetch --prune --unshallow --tags
- name: Install Ships provider to deal with project.assets.json
run: |
Install-Module -Name dotnet.project.assets -force
- name: Bootstrap
run: |
Import-Module ./build.psm1
Start-PSBootStrap
- name: Verify cgmanifest is up to date
run: |
Import-Module ./build.psm1
Find-Dotnet
./tools/findMissingNotices.ps1
- name: Upload cgmanifest
uses: actions/upload-artifact@v2
if: always() && env.CGMANIFEST_PATH != ''
with:
name: cgmanifest
path: ${{ env.CGMANIFEST_PATH }}

View file

@ -25,10 +25,12 @@ dotnet_diagnostic.CA1005.severity = none
# CA1008: Enums should have zero value
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1008
dotnet_diagnostic.CA1008.severity = none
dotnet_code_quality.CA1008.api_surface = public
# CA1010: Generic interface should also be implemented
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1010
dotnet_diagnostic.CA1010.severity = silent
dotnet_code_quality.CA1010.api_surface = public
# CA1012: Abstract types should not have public constructors
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1012
@ -62,18 +64,22 @@ dotnet_diagnostic.CA1021.severity = none
# CA1024: Use properties where appropriate
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1024
dotnet_diagnostic.CA1024.severity = none
dotnet_code_quality.CA1024.api_surface = public
# CA1027: Mark enums with FlagsAttribute
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1027
dotnet_diagnostic.CA1027.severity = none
dotnet_code_quality.CA1027.api_surface = public
# CA1028: Enum Storage should be Int32
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1028
dotnet_diagnostic.CA1028.severity = none
dotnet_code_quality.CA1028.api_surface = public
# CA1030: Use events where appropriate
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1030
dotnet_diagnostic.CA1030.severity = none
dotnet_code_quality.CA1030.api_surface = public
# CA1031: Do not catch general exception types
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1031
@ -94,23 +100,27 @@ dotnet_diagnostic.CA1034.severity = none
# CA1036: Override methods on comparable types
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1036
dotnet_diagnostic.CA1036.severity = silent
dotnet_code_quality.CA1036.api_surface = public
# CA1040: Avoid empty interfaces
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1040
dotnet_diagnostic.CA1040.severity = none
dotnet_code_quality.CA1040.api_surface = public
# CA1041: Provide ObsoleteAttribute message
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1041
dotnet_diagnostic.CA1041.severity = warning
dotnet_code_quality.CA1041.api_surface = public
# CA1043: Use Integral Or String Argument For Indexers
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1043
dotnet_diagnostic.CA1043.severity = warning
dotnet_code_quality.ca1043.api_surface = all
dotnet_code_quality.CA1043.api_surface = all
# CA1044: Properties should not be write only
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1044
dotnet_diagnostic.CA1044.severity = none
dotnet_code_quality.CA1044.api_surface = public
# CA1045: Do not pass types by reference
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1045
@ -131,27 +141,32 @@ dotnet_diagnostic.CA1050.severity = warning
# CA1051: Do not declare visible instance fields
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1051
dotnet_diagnostic.CA1051.severity = silent
dotnet_code_quality.CA1051.api_surface = public
# CA1052: Static holder types should be Static or NotInheritable
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1052
dotnet_diagnostic.CA1052.severity = warning
dotnet_code_quality.CA1052.api_surface = private, internal
dotnet_code_quality.CA1052.api_surface = all
# CA1054: URI-like parameters should not be strings
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1054
dotnet_diagnostic.CA1054.severity = none
dotnet_code_quality.CA1054.api_surface = public
# CA1055: URI-like return values should not be strings
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1055
dotnet_diagnostic.CA1055.severity = none
dotnet_code_quality.CA1055.api_surface = public
# CA1056: URI-like properties should not be strings
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1056
dotnet_diagnostic.CA1056.severity = none
dotnet_code_quality.CA1056.api_surface = public
# CA1058: Types should not extend certain base types
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1058
dotnet_diagnostic.CA1058.severity = none
dotnet_code_quality.CA1058.api_surface = public
# CA1060: Move pinvokes to native methods class
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1060
@ -168,6 +183,7 @@ dotnet_diagnostic.CA1062.severity = none
# CA1063: Implement IDisposable Correctly
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1063
dotnet_diagnostic.CA1063.severity = none
dotnet_code_quality.CA1063.api_surface = public
# CA1064: Exceptions should be public
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1064
@ -182,8 +198,8 @@ dotnet_diagnostic.CA1065.severity = warning
dotnet_diagnostic.CA1066.severity = none
# CA1067: Override Object.Equals(object) when implementing IEquatable<T>
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1067
dotnet_diagnostic.CA1067.severity = suggestion
# # https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1067
dotnet_diagnostic.CA1067.severity = warning
# CA1068: CancellationToken parameters must come last
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1068
@ -284,14 +300,17 @@ dotnet_diagnostic.CA1707.severity = silent
# CA1708: Identifiers should differ by more than case
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1708
dotnet_diagnostic.CA1708.severity = silent
dotnet_code_quality.CA1708.api_surface = public
# CA1710: Identifiers should have correct suffix
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1710
dotnet_diagnostic.CA1710.severity = silent
dotnet_code_quality.CA1710.api_surface = public
# CA1711: Identifiers should not have incorrect suffix
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1711
dotnet_diagnostic.CA1711.severity = silent
dotnet_code_quality.CA1711.api_surface = public
# CA1712: Do not prefix enum values with type name
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1712
@ -304,18 +323,22 @@ dotnet_diagnostic.CA1713.severity = none
# CA1715: Identifiers should have correct prefix
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1715
dotnet_diagnostic.CA1715.severity = silent
dotnet_code_quality.CA1715.api_surface = public
# CA1716: Identifiers should not match keywords
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1716
dotnet_diagnostic.CA1716.severity = silent
dotnet_code_quality.CA1716.api_surface = public
# CA1720: Identifier contains type name
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1720
dotnet_diagnostic.CA1720.severity = silent
dotnet_code_quality.CA1720.api_surface = public
# CA1721: Property names should not match get methods
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1721
dotnet_diagnostic.CA1721.severity = none
dotnet_code_quality.CA1721.api_surface = public
# CA1724: Type names should not match namespaces
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1724
@ -324,14 +347,17 @@ dotnet_diagnostic.CA1724.severity = none
# CA1725: Parameter names should match base declaration
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1725
dotnet_diagnostic.CA1725.severity = silent
dotnet_code_quality.CA1725.api_surface = public
# CA1801: Review unused parameters
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1801
dotnet_diagnostic.CA1801.severity = none
dotnet_code_quality.CA1801.api_surface = all
# CA1802: Use literals where appropriate
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1802
dotnet_diagnostic.CA1802.severity = none
dotnet_code_quality.CA1802.api_surface = public
# CA1805: Do not initialize unnecessarily
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1805
@ -360,6 +386,7 @@ dotnet_diagnostic.CA1814.severity = none
# CA1815: Override equals and operator equals on value types
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1815
dotnet_diagnostic.CA1815.severity = none
dotnet_code_quality.CA1815.api_surface = public
# CA1816: Dispose methods should call SuppressFinalize
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1816
@ -368,6 +395,7 @@ dotnet_diagnostic.CA1816.severity = warning
# CA1819: Properties should not return arrays
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1819
dotnet_diagnostic.CA1819.severity = none
dotnet_code_quality.CA1819.api_surface = public
# CA1820: Test for empty strings using string length
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1820
@ -478,6 +506,10 @@ dotnet_diagnostic.CA1845.severity = warning
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1846
dotnet_diagnostic.CA1846.severity = warning
# CA1847: Use char literal for a single character lookup
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1847
dotnet_diagnostic.CA1847.severity = warning
# CA2000: Dispose objects before losing scope
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000
dotnet_diagnostic.CA2000.severity = none
@ -557,6 +589,7 @@ dotnet_diagnostic.CA2207.severity = warning
# CA2208: Instantiate argument exceptions correctly
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2208
dotnet_diagnostic.CA2208.severity = suggestion
dotnet_code_quality.CA2208.api_surface = all
# CA2211: Non-constant fields should not be visible
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2211
@ -581,6 +614,7 @@ dotnet_diagnostic.CA2216.severity = warning
# CA2217: Do not mark enums with FlagsAttribute
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2217
dotnet_diagnostic.CA2217.severity = none
dotnet_code_quality.CA2217.api_surface = public
# CA2218: Override GetHashCode on overriding Equals
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2218
@ -597,10 +631,12 @@ dotnet_diagnostic.CA2224.severity = suggestion
# CA2225: Operator overloads have named alternates
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2225
dotnet_diagnostic.CA2225.severity = none
dotnet_code_quality.CA2225.api_surface = public
# CA2226: Operators should have symmetrical overloads
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2226
dotnet_diagnostic.CA2226.severity = none
dotnet_code_quality.CA2226.api_surface = public
# CA2227: Collection properties should be read only
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2227
@ -613,10 +649,12 @@ dotnet_diagnostic.CA2229.severity = silent
# CA2231: Overload operator equals on overriding value type Equals
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2231
dotnet_diagnostic.CA2231.severity = suggestion
dotnet_code_quality.CA2231.api_surface = public
# CA2234: Pass system uri objects instead of strings
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2234
dotnet_diagnostic.CA2234.severity = none
dotnet_code_quality.CA2234.api_surface = public
# CA2235: Mark all non-serializable fields
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2235
@ -670,6 +708,10 @@ dotnet_diagnostic.CA2250.severity = warning
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2251
dotnet_diagnostic.CA2251.severity = warning
# CA2252: This API requires opting into preview features
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2252
dotnet_diagnostic.CA2251.severity = none
# CA2300: Do not use insecure deserializer BinaryFormatter
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2300
dotnet_diagnostic.CA2300.severity = none
@ -1280,7 +1322,7 @@ dotnet_diagnostic.IDE0048.severity = suggestion
# IDE0049: PreferBuiltInOrFrameworkType
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0049
dotnet_diagnostic.IDE0049.severity = silent
dotnet_diagnostic.IDE0049.severity = warning
# IDE0050: ConvertAnonymousTypeToTuple
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0050

View file

@ -15,6 +15,7 @@
about_
about_debuggers
about_jobs
about_Telemetry
acl
adamdriscoll
add-localgroupmember
@ -132,6 +133,7 @@ CodeFormatter
codeowner
codepage
commanddiscovery
CommandInvocationIntrinsics
commandsearch
CommandSearcher
comobject
@ -176,6 +178,7 @@ ctrl
CurrentCulture
CustomShellCommands.cs
DamirAinullin
DarylGraves
darquewarrior
darwinjs
DateTime
@ -284,6 +287,7 @@ folderName
foreach
formatfileloading
formatviewbinding
FormatWideCommand
Francisco-Gamino
frontload
fullclr
@ -355,6 +359,7 @@ helpproviderwithfullcache
helpsystem
hemant
hemantmahawar
Higinbotham
himura2la
hololens
homebrew
@ -484,6 +489,7 @@ miaromero
microsoft
Microsoft.ApplicationInsights
Microsoft.CodeAnalysis.CSharp
Microsoft.CodeAnalysis.NetAnalyzers
microsoft.com
microsoft.management.infrastructure.cimcmdlets
microsoft.management.infrastructure.native
@ -649,6 +655,7 @@ preview.5.20268.9
preview.5.20272.6
preview.6
preview.6.20318.15
preview.6.21355.2
preview.7
preview.7.20356.2
preview.7.20358.6
@ -699,6 +706,8 @@ RandomNoun7
raspbian
rc
rc.1
rc.1.21455.2
rc.1.21458.32
rc.2
rc.3
rc2-24027
@ -916,6 +925,7 @@ unregister-pssessionconfiguration
unregistering
untracked
unvalidated
UpdateDotnetRuntime.ps1
update-formatdata
update-modulemanifest
update-scriptfileinfo
@ -1103,6 +1113,20 @@ DotnetMetadataRuntime.json
deps.json
Jaykul
eltociear
consolehost.proto
IDisposable
ConvertToJsonCommand
CommandPathSearch
UseCoalesceExpression
UseSystemHashCode
UseCoalesceExpressionForNullable
substring
RemoveAll
MakeFieldReadonly
Microsoft.Management.UI.Internal
StringComparison
osx-arm64
crossgen2
- CHANGELOG.md
aavdberg
asrosent
@ -1245,7 +1269,8 @@ ini
package.json
jcotton42
RPMs
- CHANGELOG/preview.md
PSDesiredStateConfiguration
- CHANGELOG/7.2.md
Gimly
jborean93
mkswd
@ -1351,11 +1376,40 @@ adamsitnik
msixbundle
PowerShell-Native#70
AppxManifest.xml
preview.9
preview.10
ArmaanMcleod
entrypoint
lselden
SethFalco
CodeQL
slowy07
rc.2.21505.57
ThirdPartyNotices.txt
cgmanifest.json
buildinfo
tar.gz
psoptions.json
manifest.spdx.json
vPack
kondratyev-nv
v7.2.0
cgmanifest.json
pwsh.exe
6.0.100-rtm.21527.11
6.0.100-rc.2.21505.57
ThirdPartyNotices.txt
rtm.21527.11
- CHANGELOG/7.0.md
codesign
release-BuildJson
yml
centos-7
PSDesiredStateConfiguration
NoLanguage
createdump
vPack
PkgES
- test/perf/benchmarks/README.md
benchmarked
BenchmarkDotNet

View file

@ -47,7 +47,7 @@ stages:
jobs:
- template: templates/ci-build.yml
parameters:
pool: ubuntu-16.04
pool: ubuntu-20.04
jobName: linux_build
displayName: linux Build
@ -56,7 +56,7 @@ stages:
jobs:
- job: linux_test
pool:
vmImage: ubuntu-16.04
vmImage: ubuntu-20.04
displayName: Linux Test
steps:
@ -149,7 +149,7 @@ stages:
- job: CodeCovTestPackage
displayName: CodeCoverage and Test Packages
pool:
vmImage: ubuntu-16.04
vmImage: ubuntu-20.04
steps:
- pwsh: |
Import-Module .\tools\ci.psm1

View file

@ -11,9 +11,9 @@ trigger:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
- .vsts-ci/misc-analysis.yml
- .github/ISSUE_TEMPLATE/*
- .dependabot/config.yml
- test/perf/*
pr:
branches:
@ -30,10 +30,14 @@ pr:
- .vsts-ci/misc-analysis.yml
- .vsts-ci/windows.yml
- .vsts-ci/windows/*
- cgmanifest.json
- LICENSE.txt
- test/common/markdown/*
- test/perf/*
- tools/releaseBuild/*
- tools/releaseBuild/azureDevOps/templates/*
- README.md
- .spelling
variables:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
@ -52,7 +56,7 @@ stages:
jobs:
- template: templates/ci-build.yml
parameters:
pool: ubuntu-16.04
pool: ubuntu-20.04
jobName: linux_build
displayName: linux Build
@ -62,34 +66,34 @@ stages:
- template: templates/nix-test.yml
parameters:
name: Linux
pool: ubuntu-16.04
pool: ubuntu-20.04
purpose: UnelevatedPesterTests
tagSet: CI
- template: templates/nix-test.yml
parameters:
name: Linux
pool: ubuntu-16.04
pool: ubuntu-20.04
purpose: ElevatedPesterTests
tagSet: CI
- template: templates/nix-test.yml
parameters:
name: Linux
pool: ubuntu-16.04
pool: ubuntu-20.04
purpose: UnelevatedPesterTests
tagSet: Others
- template: templates/nix-test.yml
parameters:
name: Linux
pool: ubuntu-16.04
pool: ubuntu-20.04
purpose: ElevatedPesterTests
tagSet: Others
- template: templates/verify-xunit.yml
parameters:
pool: ubuntu-16.04
pool: ubuntu-20.04
- stage: PackageLinux
displayName: Package Linux
@ -97,7 +101,7 @@ stages:
jobs:
- template: linux/templates/packaging.yml
parameters:
pool: ubuntu-16.04
pool: ubuntu-20.04
- stage: CodeCovTestPackage
displayName: CodeCoverage and Test Packages
@ -106,7 +110,7 @@ stages:
- job: CodeCovTestPackage
displayName: CodeCoverage and Test Packages
pool:
vmImage: ubuntu-16.04
vmImage: ubuntu-20.04
steps:
- pwsh: |
Import-Module .\tools\ci.psm1

View file

@ -1,5 +1,5 @@
parameters:
pool: 'ubuntu-16.04'
pool: 'ubuntu-20.04'
parentJobs: []
name: 'Linux'

View file

@ -11,10 +11,10 @@ trigger:
include:
- '*'
exclude:
- /tools/releaseBuild/**/*
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
- tools/releaseBuild/**/*
- .vsts-ci/misc-analysis.yml
- .github/ISSUE_TEMPLATE/*
- .dependabot/config.yml
- test/perf/*
pr:
branches:
@ -29,13 +29,17 @@ pr:
- .dependabot/config.yml
- .github/ISSUE_TEMPLATE/*
- .vsts-ci/misc-analysis.yml
- /.vsts-ci/windows.yml
- /.vsts-ci/windows/*
- .vsts-ci/windows.yml
- .vsts-ci/windows/*
- cgmanifest.json
- LICENSE.txt
- test/common/markdown/*
- test/perf/*
- tools/packaging/*
- tools/releaseBuild/*
- tools/releaseBuild/azureDevOps/templates/*
- README.md
- .spelling
variables:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
@ -97,10 +101,6 @@ stages:
vmImage: macOS-latest
steps:
- pwsh: |
# Remove old .NET SDKs
if (Test-Path -Path $HOME/.dotnet) {
Remove-Item $HOME/.dotnet -Recurse -Force
}
Import-Module .\tools\ci.psm1
New-CodeCoverageAndTestPackage
displayName: CodeCoverage and Test Package

View file

@ -27,83 +27,41 @@ variables:
- name: repoFolder
value: PowerShell
jobs:
- job: CI_Compliance
displayName: CI Compliance
stages:
- stage: Compliance
jobs:
- job: CI_Compliance
displayName: CI Compliance
pool:
vmImage: windows-latest
pool:
vmImage: windows-latest
variables:
- name: repoPath
value: $(Agent.BuildDirectory)\$(repoFolder)
variables:
- name: repoPath
value: $(Agent.BuildDirectory)\$(repoFolder)
steps:
- checkout: self
clean: true
path: $(repoFolder)
steps:
- checkout: self
clean: true
path: $(repoFolder)
- checkout: ComplianceRepo
- checkout: ComplianceRepo
- template: ci-compliance.yml@ComplianceRepo
- job: Linux_CI
displayName: Markdown and Common Tests
pool:
vmImage: ubuntu-16.04
variables:
- name: repoPath
value: $(Agent.BuildDirectory)/$(repoFolder)
steps:
- checkout: self
clean: true
path: $(repoFolder)
- checkout: ComplianceRepo
- powershell: |
Get-ChildItem -Path env:
displayName: Capture Environment
condition: succeededOrFailed()
- powershell: |
Install-module Pester -Scope CurrentUser -Force -MaximumVersion 4.99
displayName: Install Pester
condition: succeededOrFailed()
- bash: |
curl -o- --progress-bar -L https://yarnpkg.com/install.sh | bash
displayName: Bootstrap Yarn
condition: succeededOrFailed()
- bash: |
sudo yarn global add markdown-spellcheck@0.11.0
displayName: Install mdspell
condition: succeededOrFailed()
- bash: |
mdspell '**/*.md' '!**/Pester/**/*.md' '!**/dotnet-tools/**/*.md' --ignore-numbers --ignore-acronyms --report --en-us;
displayName: Test Spelling in Markdown
condition: succeededOrFailed()
workingDirectory: '$(repoPath)'
- ${{ if not(contains(variables['SYSTEM.COLLECTIONURI'],'mscodehub')) }}:
- pwsh: |
Import-module ./build.psm1
$path = Join-Path -Path $pwd -ChildPath './commonTestResults.xml'
$results = invoke-pester -Script ./test/common -OutputFile $path -OutputFormat NUnitXml -PassThru
Write-Host "##vso[results.publish type=NUnit;mergeResults=true;runTitle=Common Tests;publishRunAttachments=true;resultFiles=$path;]"
if($results.TotalCount -eq 0 -or $results.FailedCount -gt 0)
{
throw "Markdown tests failed"
}
displayName: Run Common Tests
condition: succeededOrFailed()
workingDirectory: '$(repoPath)'
- template: dailyBuildCompliance.yml@ComplianceRepo
- template: ci-compliance.yml@ComplianceRepo
- stage: markdown_spelling_lint
displayName: Markdown Spelling and Lint
dependsOn: []
jobs:
- template: ./misc-analysis/mdSpell.yml
- stage: markdown_link
displayName: Markdown Link
dependsOn: []
jobs:
- template: ./misc-analysis/generateMarkdownMatrix.yml
parameters:
sourceScanPath: '$(repoPath)'
jobName: generateMatrix
taskName: matrixTask
- template: ./misc-analysis/markdown.yml
parameters:
matrix: $[ dependencies.generateMatrix.outputs['matrixTask.matrix'] ]
dependsOn: generateMatrix

View file

@ -0,0 +1,46 @@
parameters:
- name: jobName
- name: taskName
jobs:
- job: ${{ parameters.jobName }}
displayName: Generate Markdown Matrix
pool:
vmImage: ubuntu-20.04
variables:
- name: repoPath
value: $(Agent.BuildDirectory)/$(repoFolder)
steps:
- checkout: self
clean: true
path: $(repoFolder)
- powershell: |
$matrix = @{}
$matrix += @{
'root' = @{
markdown_folder = "$(repoPath)"
markdown_recurse = $false
}
}
Get-ChildItem -path '$(repoPath)' -Directory | Foreach-Object {
$folder = $_
$matrix += @{
$_.Name = @{
markdown_folder = $_.fullName
markdown_recurse = $true
}
}
}
$matrixJson = $matrix | ConvertTo-Json -Compress
$variableName = "matrix"
$command = "vso[task.setvariable variable=$variableName;isoutput=true]$($matrixJson)"
Write-Verbose "sending command: '$command'"
Write-Host "##$command"
displayName: Create Matrix
condition: succeededOrFailed()
name: ${{ parameters.taskName }}

View file

@ -0,0 +1,63 @@
parameters:
- name: matrix
- name: dependsOn
jobs:
- job: markdown
strategy:
matrix: ${{ parameters.matrix }}
maxParallel: 5
displayName: Markdown Link Verification
dependsOn: ${{ parameters.dependsOn }}
pool:
vmImage: ubuntu-20.04
variables:
- name: repoPath
value: $(Agent.BuildDirectory)/$(repoFolder)
- name: YARN_CACHE_FOLDER
value: $(Pipeline.Workspace)/.yarn
- name: YARN_GLOBAL_CACHE_FOLDER
value: $(Pipeline.Workspace)/.yarn-global
steps:
- checkout: self
clean: true
path: $(repoFolder)
- checkout: ComplianceRepo
- task: Cache@2
inputs:
key: '"markdown-link-check" | "$(Agent.OS)" | $(repoPath)/test/common/markdown-link/markdown-link.tests.ps1'
path: $(YARN_GLOBAL_CACHE_FOLDER)
displayName: Cache Yarn packages
- powershell: |
Install-module Pester -Scope CurrentUser -Force -MaximumVersion 4.99
displayName: Install Pester
- bash: |
curl -o- --progress-bar -L https://yarnpkg.com/install.sh | bash
displayName: Bootstrap Yarn
- bash: |
yarn config set global-folder "$(YARN_GLOBAL_CACHE_FOLDER)"
displayName: Set Yarn global cache folder
- ${{ if not(contains(variables['SYSTEM.COLLECTIONURI'],'mscodehub')) }}:
- pwsh: |
Import-module ./build.psm1
$path = Join-Path -Path $pwd -ChildPath './commonTestResults.xml'
$results = invoke-pester -Script ./test/common/markdown-link -OutputFile $path -OutputFormat NUnitXml -PassThru
Write-Host "##vso[results.publish type=NUnit;mergeResults=true;runTitle=Markdown Link;publishRunAttachments=true;resultFiles=$path;]"
if($results.TotalCount -eq 0 -or $results.FailedCount -gt 0)
{
throw "Markdown tests failed"
}
displayName: Run Markdown Link Tests
condition: succeededOrFailed()
workingDirectory: '$(repoPath)'

View file

@ -0,0 +1,56 @@
jobs:
- job: markdown
displayName: Markdown Spelling
pool:
vmImage: ubuntu-20.04
variables:
- name: repoPath
value: $(Agent.BuildDirectory)/$(repoFolder)
steps:
- checkout: self
clean: true
path: $(repoFolder)
- checkout: ComplianceRepo
- powershell: |
Get-ChildItem -Path env:
displayName: Capture Environment
condition: succeededOrFailed()
- bash: |
curl -o- --progress-bar -L https://yarnpkg.com/install.sh | bash
displayName: Bootstrap Yarn
condition: succeededOrFailed()
- bash: |
sudo yarn global add markdown-spellcheck@0.11.0
displayName: Install mdspell
condition: succeededOrFailed()
- bash: |
mdspell '**/*.md' '!**/Pester/**/*.md' '!**/dotnet-tools/**/*.md' --ignore-numbers --ignore-acronyms --report --en-us;
displayName: Test Spelling in Markdown
condition: succeededOrFailed()
workingDirectory: '$(repoPath)'
- ${{ if not(contains(variables['SYSTEM.COLLECTIONURI'],'mscodehub')) }}:
- pwsh: |
Import-module ./build.psm1
$path = Join-Path -Path $pwd -ChildPath './commonTestResults.xml'
$results = invoke-pester -Script ./test/common/markdown-lint -OutputFile $path -OutputFormat NUnitXml -PassThru
Write-Host "##vso[results.publish type=NUnit;mergeResults=true;runTitle=Markdown Lint;publishRunAttachments=true;resultFiles=$path;]"
if($results.TotalCount -eq 0 -or $results.FailedCount -gt 0)
{
throw "Markdown tests failed"
}
displayName: Run Markdown Lint Tests
condition: succeededOrFailed()
workingDirectory: '$(repoPath)'
- template: dailyBuildCompliance.yml@ComplianceRepo
parameters:
sourceScanPath: '$(repoPath)'

View file

@ -34,6 +34,8 @@ resources:
clean: true
jobs:
- job: SSHRemotingTests
pool:
vmImage: ubuntu-20.04
container: mcr.microsoft.com/powershell/test-deps:ubuntu-18.04
displayName: SSH Remoting Tests

View file

@ -11,38 +11,31 @@ jobs:
displayName: ${{ parameters.displayName }}
steps:
- powershell: |
- pwsh: |
Get-ChildItem -Path env:
displayName: Capture Environment
condition: succeededOrFailed()
- powershell: Write-Host "##vso[build.updatebuildnumber]$env:BUILD_SOURCEBRANCHNAME-$env:BUILD_SOURCEVERSION-$((get-date).ToString("yyyyMMddhhmmss"))"
- pwsh: Write-Host "##vso[build.updatebuildnumber]$env:BUILD_SOURCEBRANCHNAME-$env:BUILD_SOURCEVERSION-$((get-date).ToString("yyyyMMddhhmmss"))"
displayName: Set Build Name for Non-PR
condition: ne(variables['Build.Reason'], 'PullRequest')
- ${{ if ne(variables['AzDevOpsFeed'], '') }}:
- template: /tools/releaseBuild/azureDevOps/templates/insert-nuget-config-azfeed.yml
- pwsh: |
if (Test-Path -Path $HOME/.dotnet) {
Remove-Item $HOME/.dotnet -Recurse -Force
}
displayName: Remove Old .NET SDKs
condition: succeededOrFailed()
- pwsh: |
Import-Module .\tools\ci.psm1
Invoke-CIInstall -SkipUser
displayName: Bootstrap
condition: succeeded()
- powershell: |
- pwsh: |
Import-Module .\tools\ci.psm1
Invoke-CIBuild
displayName: Build
condition: succeeded()
- powershell: |
- pwsh: |
Import-Module .\tools\ci.psm1
Restore-PSOptions
Invoke-CIxUnit -SkipFailing

View file

@ -33,13 +33,6 @@ jobs:
displayName: 'Capture Artifacts Directory'
continueOnError: true
- pwsh: |
if (Test-Path -Path $HOME/.dotnet) {
Remove-Item $HOME/.dotnet -Recurse -Force
}
displayName: Remove Old .NET SDKs
condition: succeededOrFailed()
- pwsh: |
Import-Module .\tools\ci.psm1
Invoke-CIInstall -SkipUser

View file

@ -11,9 +11,9 @@ trigger:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
- .vsts-ci/misc-analysis.yml
- .github/ISSUE_TEMPLATE/*
- .dependabot/config.yml
- test/perf/*
pr:
branches:
@ -28,11 +28,15 @@ pr:
- .dependabot/config.yml
- .github/ISSUE_TEMPLATE/*
- .vsts-ci/misc-analysis.yml
- cgmanifest.json
- LICENSE.txt
- test/common/markdown/*
- test/perf/*
- tools/packaging/*
- tools/releaseBuild/*
- tools/releaseBuild/azureDevOps/templates/*
- README.md
- .spelling
variables:
GIT_CONFIG_PARAMETERS: "'core.autocrlf=false'"

View file

@ -1,25 +1,53 @@
parameters:
pool: 'Hosted VS2017'
jobName: 'win_packaging'
architecture: 'x64'
channel: 'preview'
parentJobs: []
- name: pool
default: 'Hosted VS2017'
- name: jobName
default: 'win_packaging'
- name: runtimePrefix
default: 'win7'
- name: architecture
default: 'x64'
- name: channel
default: 'preview'
jobs:
- job: ${{ parameters.jobName }}_${{ parameters.channel }}_${{ parameters.architecture }}
dependsOn:
${{ parameters.parentJobs }}
variables:
- name: repoFolder
value: PowerShell
- name: repoPath
value: $(Agent.BuildDirectory)\$(repoFolder)
- name: complianceRepoFolder
value: compliance
- name: complianceRepoPath
value: $(Agent.BuildDirectory)\$(complianceRepoFolder)
pool:
name: ${{ parameters.pool }}
displayName: Windows Packaging - ${{ parameters.architecture }} - ${{ parameters.channel }}
steps:
- checkout: self
clean: true
path: $(repoFolder)
- checkout: ComplianceRepo
clean: true
path: $(complianceRepoFolder)
- powershell: |
Get-ChildItem -Path env:
displayName: Capture environment
condition: succeededOrFailed()
- pwsh: |
$PSVersionTable
displayName: Capture PowerShell Version Table
condition: succeededOrFailed()
- template: /tools/releaseBuild/azureDevOps/templates/insert-nuget-config-azfeed.yml
- pwsh: |
@ -27,9 +55,24 @@ jobs:
Invoke-CIInstall -SkipUser
displayName: Bootstrap
condition: succeeded()
workingDirectory: $(repoPath)
- pwsh: |
Import-Module .\tools\ci.psm1
New-CodeCoverageAndTestPackage
Invoke-CIFinish -Runtime win7-${{ parameters.architecture }} -channel ${{ parameters.channel }}
displayName: Build and Test Package
Invoke-CIFinish -Runtime ${{ parameters.runtimePrefix }}-${{ parameters.architecture }} -channel ${{ parameters.channel }} -Stage Build
displayName: Build
workingDirectory: $(repoPath)
- template: Sbom.yml@ComplianceRepo
parameters:
BuildDropPath: '$(System.ArtifactsDirectory)/mainBuild'
Build_Repository_Uri: $(build.repository.uri)
displayName: SBOM
- pwsh: |
Import-Module .\tools\ci.psm1
New-CodeCoverageAndTestPackage
Invoke-CIFinish -Runtime ${{ parameters.runtimePrefix }}-${{ parameters.architecture }} -channel ${{ parameters.channel }} -Stage Package
displayName: Package and Test
workingDirectory: $(repoPath)

View file

@ -67,10 +67,17 @@ variables:
- name: __SuppressAnsiEscapeSequences
value: 1
- group: fakeNugetKey
- name: SBOMGenerator_Formats
value: spdx:2.2
resources:
- repo: self
clean: true
repositories:
- repository: ComplianceRepo
type: github
endpoint: PowerShell
name: PowerShell/compliance
ref: master
stages:
- stage: PackagingWin
displayName: Packaging for Windows
@ -86,3 +93,13 @@ stages:
parameters:
channel: preview
architecture: x86
- template: templates/windows-packaging.yml
parameters:
channel: preview
architecture: arm
runtimePrefix: win
- template: templates/windows-packaging.yml
parameters:
channel: preview
architecture: arm64
runtimePrefix: win

View file

@ -1,6 +1,7 @@
<Project>
<ItemGroup>
<PackageReference Include="DotNetAnalyzers.DocumentationAnalyzers" Version="1.0.0-beta.59" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.312" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.0.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.354" PrivateAssets="all" />
</ItemGroup>
</Project>

View file

@ -104,7 +104,7 @@
work is required for Microsoft to continue to sign and release packages from the project as official Microsoft packages.
- Remove `PerformWSManPluginReportCompletion`, which was not used, from `pwrshplugin.dll` (#5498) (Thanks @bergmeister!)
- Remove exclusion for hang and add context exception for remaining instances (#5595)
- Remove exclusion for unresponsive condition and add context exception for remaining instances (#5595)
- Replace `strlen` with `strnlen` in native code (#5510)
## [6.0.0-rc] - 2017-11-16

View file

@ -428,7 +428,7 @@
- Fix crash when terminal is reset (#6777)
- Fix a module-loading regression that caused an infinite loop (#6843)
- Further improve `PSMethod` to `Delegate` conversion (#6851)
- Blacklist `System.Windows.Forms` from loading to prevent a crash (#6822)
- Block list `System.Windows.Forms` from loading to prevent a crash (#6822)
- Fix `Format-Table` where rows were being trimmed unnecessarily if there's only one row of headers (#6772)
- Fix `SetDate` function in `libpsl-native` to avoid corrupting memory during `P/Invoke` (#6881)
- Fix tab completions for hash table (#6839) (Thanks @iSazonov!)

View file

@ -844,7 +844,7 @@
### Documentation and Help Content
- Replace ambiguous `hang` term (#7902, #7931) (Thanks @iSazonov!)
- Replace ambiguous term (#7902, #7931) (Thanks @iSazonov!)
- Updating incorrect example of `PowerShell.Create()` (#7926) (Thanks @1RedOne!)
- Update `governance.md` (#7927) (Thanks @tommymaynard!)
- Add `cURL` to the Bash users list in `README.md` (#7948) (Thanks @vmsilvamolina!)

View file

@ -1,5 +1,64 @@
# 7.0 Changelog
## [7.0.8] - 2021-10-14
### Engine Updates and Fixes
- Handle error from unauthorized access when removing `AppLocker` test files (#15881)
- Handle error when the telemetry mutex cannot be created (#15574) (Thanks @gukoff!)
- Configure `ApplicationInsights` to not send cloud role name (Internal 17099)
- Disallow `Add-Type` in NoLanguage mode on a locked down machine (Internal 17521)
### Tools
- Add `.stylecop` to `filetypexml` and format it (#16025)
### Build and Packaging Improvements
<details>
<summary>
<p>Bump .NET SDK to 3.1.414</p>
</summary>
<ul>
<li>Update the nuget.config file used for building NuGet packages (Internal 17547)</li>
<li>Sign the .NET <code>createdump</code> executable (#16229)</li>
<li>Upgrade <code>set-value</code> package for markdown test (#16196)</li>
<li>Move vPack build to 1ES Pool (#16169)</li>
<li>Update to .NET SDK 3.1.414 (Internal 17532)</li>
<li>Fix the macOS build by updating the pool image name (#16010)</li>
<li>Move from PkgES hosted agents to 1ES hosted agents (#16023)</li>
<li>Use Alpine 3.12 for building PowerShell for Alpine Linux (#16008)</li>
</ul>
</details>
### Documentation and Help Content
- Fix example nuget.config (#14349)
[7.0.8]: https://github.com/PowerShell/PowerShell/compare/v7.0.7...v7.0.8
## [7.0.7] - 2021-08-12
### Build and Packaging Improvements
<details>
<summary>
Bump .NET SDK to 3.1.412
</summary>
<ul>
<li>Remove cat file from <code>PSDesiredStateConfiguration</code> module (Internal 16722)</li>
<li>Update .NET SDK to <code>3.1.412</code> (Internal 16717)</li>
</ul>
</details>
[7.0.7]: https://github.com/PowerShell/PowerShell/compare/v7.0.6...v7.0.7
## [7.0.6] - 2021-03-11
### General Cmdlet Updates and Fixes
@ -308,7 +367,7 @@ Move to .NET Core 3.1.202 SDK and update packages.
- Skip null data in output data received handler to fix a `NullReferenceException` (#11448) (Thanks @iSazonov!)
- Add `ssh` parameter sets for the parameter `-JobName` in `Invoke-Command` (#11444)
- Adding `PowerShell Editor Services` and `PSScriptAnalyzer` to tracked modules (#11514)
- Fix key exchange hang with `SecureString` for the `OutOfProc` transports (#11380, #11406)
- Fix condition when key exchange stops responding with `SecureString` for the `OutOfProc` transports (#11380, #11406)
- Add setting to disable the implicit `WinPS` module loading (#11332)
### General Cmdlet Updates and Fixes

View file

@ -1,5 +1,64 @@
# 7.1 Changelog
## [7.1.5] - 2021-10-14
### Engine Updates and Fixes
- Handle error from unauthorized access when removing `AppLocker` test files (#15881)
- Test more thoroughly whether a command is `Out-Default` for transcription scenarios (#15653)
- Handle error when the telemetry mutex cannot be created (#15574) (Thanks @gukoff!)
- Configure `ApplicationInsights` to not send cloud role name (Internal 17100)
- Disallow `Add-Type` in NoLanguage mode on a locked down machine (Internal 17522)
### Tools
- Add `.stylecop` to `filetypexml` and format it (#16025)
### Build and Packaging Improvements
<details>
<summary>
<p>Bump .NET SDK to 5.0.402</p>
</summary>
<ul>
<li>Upgrade <code>set-value</code> package for markdown test (#16196)</li>
<li>Sign the .NET <code>createdump</code> executable (#16229)</li>
<li>Move vPack build to 1ES Pool (#16169)</li>
<li>Update to .NET SDK 5.0.402 (Internal 17537)</li>
<li>Move from PkgES hosted agents to 1ES hosted agents (#16023)</li>
<li>Fix the macOS build by updating the pool image name (#16010)</li>
<li>Use Alpine 3.12 for building PowerShell for Alpine Linux (#16008)</li>
</ul>
</details>
### Documentation and Help Content
- Fix example nuget.config (#14349)
[7.1.5]: https://github.com/PowerShell/PowerShell/compare/v7.1.4...v7.1.5
## [7.1.4] - 2021-08-12
### Build and Packaging Improvements
<details>
<summary>
Bump .NET SDK to version 5.0.400
</summary>
<ul>
<li>Remove the cat file from <code>PSDesiredStateConfiguration</code> module (Internal 16723)</li>
<li>Update .NET SDK version and other packages (Internal 16715)</li>
</ul>
</details>
[7.1.4]: https://github.com/PowerShell/PowerShell/compare/v7.1.3...v7.1.4
## [7.1.3] - 2021-03-11
### Engine Updates and Fixes

1122
CHANGELOG/7.2.md Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,863 +1 @@
# Current preview release
## [7.2.0-preview.8] - 2021-07-22
### Engine Updates and Fixes
- Add a Windows mode to `$PSNativeCommandArgumentPassing` that allows some commands to use legacy argument passing (#15408)
- Use `nameof` to get parameter names when creating `ArgumentNullException` (#15604) (Thanks @gukoff!)
- Test if a command is 'Out-Default' more thoroughly for transcribing scenarios (#15653)
- Add `Microsoft.PowerShell.Crescendo` to telemetry allow list (#15372)
### General Cmdlet Updates and Fixes
- Use `$PSStyle.Formatting.FormatAccent` for `Format-List` and `$PSStyle.Formatting.TableHeader` for `Format-Table` output (#14406)
- Highlight using error color the exception `Message` and underline in `PositionMessage` for `Get-Error` (#15786)
- Implement a completion for View parameter of format cmdlets (#14513) (Thanks @iSazonov!)
- Add support to colorize `FileInfo` file names (#14403)
- Don't serialize to JSON ETS properties for `DateTime` and `string` types (#15665)
- Fix `HyperVSocketEndPoint.ServiceId` setter (#15704) (Thanks @xtqqczze!)
- Add `DetailedView` to `$ErrorView` (#15609)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@iSazonov, @xtqqczze</p>
</summary>
<ul>
<li>Remove <code>consolehost.proto</code> file (#15741) (Thanks @iSazonov!)</li>
<li>Implement <code>IDisposable</code> for <code>ConvertToJsonCommand</code> (#15787) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDisposable</code> implementation for <code>CommandPathSearch</code> (#15793) (Thanks @xtqqczze!)</li>
<li>Delete IDE dispose analyzer rules (#15798) (Thanks @xtqqczze!)</li>
<li>Seal private classes (#15725) (Thanks @xtqqczze!)</li>
<li>Enable IDE0029: <code>UseCoalesceExpression</code> (#15770) (Thanks @xtqqczze!)</li>
<li>Enable IDE0070: <code>UseSystemHashCode</code> (#15715) (Thanks @xtqqczze!)</li>
<li>Enable IDE0030: <code>UseCoalesceExpressionForNullable</code> (#14289) (Thanks @xtqqczze!)</li>
<li>Fix CA1846 and CA1845 for using <code>AsSpan</code> instead of <code>Substring</code> (#15738)</li>
<li>Use <code>List&lt;T&gt;.RemoveAll</code> to avoid creating temporary list (#15686) (Thanks @xtqqczze!)</li>
<li>Enable IDE0044: <code>MakeFieldReadonly</code> (#13880) (Thanks @xtqqczze!)</li>
<li>Disable IDE0130 (#15728) (Thanks @xtqqczze!)</li>
<li>Make classes sealed (#15675) (Thanks @xtqqczze!)</li>
<li>Enable CA1043: Use integral or string argument for indexers (#14467) (Thanks @xtqqczze!)</li>
<li>Enable CA1812 (#15674) (Thanks @xtqqczze!)</li>
<li>Replace <code>Single</code> with <code>First</code> when we know the element count is 1 (#15676) (Thanks @xtqqczze!)</li>
<li>Skip analyzers for <code>Microsoft.Management.UI.Internal</code> (#15677) (Thanks @xtqqczze!)</li>
<li>Fix CA2243: Attribute string literals should parse correctly (#15622) (Thanks @xtqqczze!)</li>
<li>Enable CA1401 (#15621) (Thanks @xtqqczze!)</li>
<li>Fix CA1309: Use ordinal <code>StringComparison</code> in Certificate Provider (#14352) (Thanks @xtqqczze!)</li>
<li>Fix CA1839: Use <code>Environment.ProcessPath</code> (#15650) (Thanks @xtqqczze!)</li>
<li>Add new analyzer rules (#15620) (Thanks @xtqqczze!)</li>
</ul>
</details>
### Tools
- Add `SkipRoslynAnalyzers` parameter to `Start-PSBuild` (#15640) (Thanks @xtqqczze!)
- Create issue template for issues updating PowerShell through Windows update. (#15700)
- Add `DocumentationAnalyzers` to build (#14336) (Thanks @xtqqczze!)
- Convert GitHub issue templates to modern forms (#15645)
### Tests
- Add more tests for `ConvertFrom-Json` (#15706) (Thanks @strawgate!)
- Update `glob-parent` and `hosted-git-info` test dependencies (#15643)
### Build and Packaging Improvements
<details>
<summary>
Update .NET to version <code>v6.0.0-preview.6</code>
</summary>
<ul>
<li>Add new package name for <code>osx-arm64</code> (#15813)</li>
<li>Prefer version when available for dotnet-install (#15810)</li>
<li>Make warning about MU being required dynamic (#15776)</li>
<li>Add <code>Start-PSBootstrap</code> before running tests (#15804)</li>
<li>Update to .NET 6 Preview 6 and use <code>crossgen2</code> (#15763)</li>
<li>Enable ARM64 packaging for macOS (#15768)</li>
<li>Make Microsoft Update opt-out/in check boxes work (#15784)</li>
<li>Add Microsoft Update opt out to MSI install (#15727)</li>
<li>Bump <code>NJsonSchema</code> from <code>10.4.4</code> to <code>10.4.5</code> (#15769) (Thanks @dependabot[bot]!)</li>
<li>Fix computation of SHA512 checksum (#15736)</li>
<li>Update the script to use quality parameter for <code>dotnet-install</code> (#15731)</li>
<li>Generate SHA512 checksum file for all packages (#15678)</li>
<li>Enable signing daily release build with lifetime certificate (#15642)</li>
<li>Update metadata and README for 7.2.0-preview.7 (#15593)</li>
</ul>
</details>
### Documentation and Help Content
- Fix broken RFC links (#15807)
- Add to bug report template getting details from `Get-Error` (#15737)
- Update issue templates to link to new docs (#15711)
- Add @jborean93 to Remoting Working Group (#15683)
[7.2.0-preview.8]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.7...v7.2.0-preview.8
## [7.2.0-preview.7] - 2021-06-17
### Breaking Changes
- Remove PSDesiredStateConfiguration v2.0.5 module and published it to the PowerShell Gallery (#15536)
### Engine Updates and Fixes
- Fix splatting being treated as positional parameter in completions (#14623) (Thanks @MartinGC94!)
- Prevent PowerShell from crashing when a telemetry mutex can't be created (#15574) (Thanks @gukoff!)
- Ignore all exceptions when disposing an instance of a subsystem implementation (#15511)
- Wait for SSH exit when closing remote connection (#14635) (Thanks @dinhngtu!)
### Performance
- Retrieve `ProductVersion` using informational version attribute in `AmsiUtils.Init()` (#15527) (Thanks @Fs00!)
### General Cmdlet Updates and Fixes
- Fix retrieving dynamic parameters from provider even if globbed path returns no results (#15525)
- Revert "Enhance Remove-Item to work with OneDrive (#15260)" due to long path issue (#15546)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@octos4murai, @iSazonov, @Fs00</p>
</summary>
<ul>
<li>Correct parameter name passed to exception in <code>PSCommand</code> constructor (#15580) (Thanks @octos4murai!)</li>
<li>Enable nullable: <code>System.Management.Automation.ICommandRuntime</code> (#15566) (Thanks @iSazonov!)</li>
<li>Clean up code regarding <code>AppDomain.CreateDomain</code> and <code>AppDomain.Unload</code> (#15554)</li>
<li>Replace <code>ProcessModule.FileName</code> with <code>Environment.ProcessPath</code> and remove <code>PSUtils.GetMainModule</code> (#15012) (Thanks @Fs00!)</li>
</ul>
</details>
### Tests
- Fix `Start-Benchmarking` to put `TargetPSVersion` and `TargetFramework` in separate parameter sets (#15508)
- Add `win-x86` test package to the build (#15517)
### Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@schuelermine</p>
</summary>
<ul>
<li>Update README.md and metadata.json for version 7.2.0-preview.6 (#15464)</li>
<li>Make sure GA revision increases from RC and Preview releases (#15558)</li>
<li>Remove <code>SupportsShouldProcess</code> from <code>Start-PSBootstrap</code> in build.psm1 (#15491) (Thanks @schuelermine!)</li>
<li>Update <code>DotnetMetadataRuntime.json</code> next channel to take daily build from .NET preview 5 (#15518)</li>
<li>Fix <code>deps.json</code> update in the release pipeline (#15486)</li>
</ul>
</details>
### Documentation and Help Content
- Add new members to Engine and Cmdlet Working Groups document (#15560)
- Update the `mdspell` command to exclude the folder that should be ignored (#15576)
- Replace 'User Voice' with 'Feedback Hub' in `README.md` (#15557)
- Update Virtual User Group chat links (#15505) (Thanks @Jaykul!)
- Fix typo in `FileSystemProvider.cs` (#15445) (Thanks @eltociear!)
- Add `PipelineStoppedException` notes to PowerShell API (#15324)
- Updated governance on Working Groups (WGs) (#14603)
- Correct and improve XML documentation comments on `PSCommand` (#15568) (Thanks @octos4murai!)
[7.2.0-preview.7]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.6...v7.2.0-preview.7
## [7.2.0-preview.6] - 2021-05-27
### Experimental Features
- [Breaking Change] Update prediction interface to provide additional feedback to a predictor plugin (#15421)
### Performance
- Avoid collecting logs in buffer if a pipeline execution event is not going to be logged (#15350)
- Avoid allocation in `LanguagePrimitives.UpdateTypeConvertFromTypeTable` (#15168) (Thanks @xtqqczze!)
- Replace `Directory.GetDirectories` with `Directory.EnumerateDirectories` to avoid array allocations (#15167) (Thanks @xtqqczze!)
- Use `List.ConvertAll` instead of `LINQ` (#15140) (Thanks @xtqqczze!)
### General Cmdlet Updates and Fixes
- Use `AllocConsole` before initializing CLR to ensure codepage is correct for WinRM remoting (PowerShell/PowerShell-Native#70) (Thanks @jborean93!)
- Add completions for `#requires` statements (#14596) (Thanks @MartinGC94!)
- Add completions for comment-based help keywords (#15337) (Thanks @MartinGC94!)
- Move cross platform DSC code to a PowerShell engine subsystem (#15127)
- Fix `Minimal` progress view to handle activity that is longer than console width (#15264)
- Handle exception if ConsoleHost tries to set cursor out of bounds because screen buffer changed (#15380)
- Fix `NullReferenceException` in DSC `ClearCache()` (#15373)
- Update `ControlSequenceLength` to handle colon as a virtual terminal parameter separator (#14942)
- Update the summary comment for `StopTranscriptCmdlet.cs` (#15349) (Thanks @dbaileyut!)
- Remove the unusable alias `d` for the `-Directory` parameter from `Get-ChildItem` (#15171) (Thanks @kvprasoon!)
- Fix tab completion for un-localized `about` topics (#15265) (Thanks @MartinGC94!)
- Remove the unneeded SSH stdio handle workaround (#15308)
- Add `LoadAssemblyFromNativeMemory` API to load assemblies from memory in a native PowerShell host (#14652) (Thanks @awakecoding!)
- Re-implement `Remove-Item` OneDrive support (#15260) (Thanks @iSazonov!)
- Kill native processes in pipeline when pipeline is disposed on Unix (#15287)
- Default to MTA on Windows platforms where STA is not supported (#15106)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @powercode, @bcwood</p>
</summary>
<ul>
<li>Enable <code>nullable</code> in some classes (#14185, #14177, #14159, #14191, #14162, #14150, #14156, #14161, #14155, #14163, #14181, #14157, #14151) (Thanks @powercode!)</li>
<li>Annotate <code>ThrowTerminatingError</code> with <code>DoesNotReturn</code> attribute (#15352) (Thanks @powercode!)</li>
<li>Use <code>GetValueOrDefault()</code> for nullable <code>PSLanguageMode</code> (#13849) (Thanks @bcwood!)</li>
<li>Enable <code>SA1008</code>: Opening parenthesis should be spaced correctly (#14242) (Thanks @xtqqczze!)</li>
</ul>
</details>
### Tools
- Add `winget` release script (#15050)
### Tests
- Enable cross-runtime benchmarking to compare different .NET runtimes (#15387) (Thanks @adamsitnik!)
- Add the performance benchmark project for PowerShell performance testing (#15242)
### Build and Packaging Improvements
<details>
<summary>
Update .NET to version <code>v6.0.0-preview.4</code>
</summary>
<ul>
<li>Suppress prompting when uploading the <code>msixbundle</code> package to blob (#15227)</li>
<li>Update to .NET preview 4 SDK (#15452)</li>
<li>Update <code>AppxManifest.xml</code> with newer OS version to allow PowerShell installed from Windows Store to make system-level changes (#15375)</li>
<li>Ensure the build works when <code>PSDesiredStateConfiguration</code> module is pulled in from PSGallery (#15355)</li>
<li>Make sure daily release tag does not change when retrying failures (#15286)</li>
<li>Improve messages and behavior when there's a problem in finding zip files (#15284)</li>
</ul>
</details>
### Documentation and Help Content
- Add documentation comments section to coding guidelines (#14316) (Thanks @xtqqczze!)
[7.2.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.5...v7.2.0-preview.6
## [7.2.0-preview.5] - 2021-04-14
### Breaking Changes
- Make PowerShell Linux deb and RPM packages universal (#15109)
- Enforce AppLocker Deny configuration before Execution Policy Bypass configuration (#15035)
- Disallow mixed dash and slash in command line parameter prefix (#15142) (Thanks @davidBar-On!)
### Experimental Features
- `PSNativeCommandArgumentPassing`: Use `ArgumentList` for native executable invocation (breaking change) (#14692)
### Engine Updates and Fixes
- Add `IArgumentCompleterFactory` for parameterized `ArgumentCompleters` (#12605) (Thanks @powercode!)
### General Cmdlet Updates and Fixes
- Fix SSH remoting connection never finishing with misconfigured endpoint (#15175)
- Respect `TERM` and `NO_COLOR` environment variables for `$PSStyle` rendering (#14969)
- Use `ProgressView.Classic` when Virtual Terminal is not supported (#15048)
- Fix `Get-Counter` issue with `-Computer` parameter (#15166) (Thanks @krishnayalavarthi!)
- Fix redundant iteration while splitting lines (#14851) (Thanks @hez2010!)
- Enhance `Remove-Item -Recurse` to work with OneDrive (#14902) (Thanks @iSazonov!)
- Change minimum depth to 0 for `ConvertTo-Json` (#14830) (Thanks @kvprasoon!)
- Allow `Set-Clipboard` to accept empty string (#14579)
- Turn on and off `DECCKM` to modify keyboard mode for Unix native commands to work correctly (#14943)
- Fall back to `CopyAndDelete()` when `MoveTo()` fails due to an `IOException` (#15077)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @iSazonov, @ZhiZe-ZG</p>
</summary>
<ul>
<li>Update .NET to <code>6.0.0-preview.3</code> (#15221)</li>
<li>Add space before comma to hosting test to fix error reported by <code>SA1001</code> (#15224)</li>
<li>Add <code>SecureStringHelper.FromPlainTextString</code> helper method for efficient secure string creation (#14124) (Thanks @xtqqczze!)</li>
<li>Use static lambda keyword (#15154) (Thanks @iSazonov!)</li>
<li>Remove unnecessary <code>Array</code> -&gt; <code>List</code> -&gt; <code>Array</code> conversion in <code>ProcessBaseCommand.AllProcesses</code> (#15052) (Thanks @xtqqczze!)</li>
<li>Standardize grammar comments in Parser.cs (#15114) (Thanks @ZhiZe-ZG!)</li>
<li>Enable <code>SA1001</code>: Commas should be spaced correctly (#14171) (Thanks @xtqqczze!)</li>
<li>Refactor <code>MultipleServiceCommandBase.AllServices</code> (#15053) (Thanks @xtqqczze!)</li>
</ul>
</details>
### Tools
- Use Unix line endings for shell scripts (#15180) (Thanks @xtqqczze!)
### Tests
- Add the missing tag in Host Utilities tests (#14983)
- Update `copy-props` version in `package.json` (#15124)
### Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@JustinGrote</p>
</summary>
<ul>
<li>Fix <code>yarn-lock</code> for <code>copy-props</code> (#15225)</li>
<li>Make package validation regex accept universal Linux packages (#15226)</li>
<li>Bump NJsonSchema from 10.4.0 to 10.4.1 (#15190)</li>
<li>Make MSI and EXE signing always copy to fix daily build (#15191)</li>
<li>Sign internals of EXE package so that it works correctly when signed (#15132)</li>
<li>Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 (#15141)</li>
<li>Update daily release tag format to work with new Microsoft Update work (#15164)</li>
<li>Feature: Add Ubuntu 20.04 Support to install-powershell.sh (#15095) (Thanks @JustinGrote!)</li>
<li>Treat rebuild branches like release branches (#15099)</li>
<li>Update WiX to 3.11.2 (#15097)</li>
<li>Bump NJsonSchema from 10.3.11 to 10.4.0 (#15092)</li>
<li>Allow patching of preview releases (#15074)</li>
<li>Bump Newtonsoft.Json from 12.0.3 to 13.0.1 (#15084, #15085)</li>
<li>Update the <code>minSize</code> build package filter to be explicit (#15055)</li>
<li>Bump NJsonSchema from 10.3.10 to 10.3.11 (#14965)</li>
</ul>
</details>
### Documentation and Help Content
- Merge `7.2.0-preview.4` changes to master (#15056)
- Update `README` and `metadata.json` (#15046)
- Fix broken links for `dotnet` CLI (#14937)
[7.2.0-preview.5]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.4...v7.2.0-preview.5
## [7.2.0-preview.4] - 2021-03-16
### Breaking Changes
- Fix `Get-Date -UFormat` `%G` and `%g` behavior (#14555) (Thanks @brianary!)
### Engine Updates and Fixes
- Update engine script signature validation to match `Get-AuthenticodeSignature` logic (#14849)
- Avoid array allocations from `GetDirectories` and `GetFiles` (#14327) (Thanks @xtqqczze!)
### General Cmdlet Updates and Fixes
- Add `UseOSCIndicator` setting to enable progress indicator in terminal (#14927)
- Re-enable VT mode on Windows after running command in `ConsoleHost` (#14413)
- Fix `Move-Item` for `FileSystemProvider` to use copy-delete instead of move for DFS paths (#14913)
- Fix `PromptForCredential()` to add `targetName` as domain (#14504)
- Update `Concise` `ErrorView` to not show line information for errors from script module functions (#14912)
- Remove the 32,767 character limit on the environment block for `Start-Process` (#14111) (Thanks @hbuckle!)
- Don't write possible secrets to verbose stream for web cmdlets (#14788)
### Tools
- Update `dependabot` configuration to V2 format (#14882)
- Add tooling issue slots in PR template (#14697)
### Tests
- Move misplaced test file to tests directory (#14908) (Thanks @MarianoAlipi!)
- Refactor MSI CI (#14753)
### Build and Packaging Improvements
<details>
<summary>
Update .NET to version <code>6.0.100-preview.2.21155.3</code>
</summary>
<ul>
<li>Update .NET to version <code>6.0.100-preview.2.21155.3</code> (#15007)</li>
<li>Bump <code>Microsoft.PowerShell.Native</code> to <code>7.2.0-preview.1</code> (#15030)</li>
<li>Create MSIX Bundle package in release pipeline (#14982)</li>
<li>Build self-contained minimal size package for Guest Config team (#14976)</li>
<li>Bump XunitXml.TestLogger from 3.0.62 to 3.0.66 (#14993) (Thanks @dependabot[bot]!)</li>
<li>Enable building PowerShell for Apple M1 runtime (#14923)</li>
<li>Fix the variable name in the condition for miscellaneous analysis CI (#14975)</li>
<li>Fix the variable usage in CI yaml (#14974)</li>
<li>Disable running markdown link verification in release build CI (#14971)</li>
<li>Bump Microsoft.CodeAnalysis.CSharp from 3.9.0-3.final to 3.9.0 (#14934) (Thanks @dependabot[bot]!)</li>
<li>Declare which variable group is used for checking the blob in the release build (#14970)</li>
<li>Update metadata and script to enable consuming .NET daily builds (#14940)</li>
<li>Bump NJsonSchema from 10.3.9 to 10.3.10 (#14933) (Thanks @dependabot[bot]!)</li>
<li>Use template that disables component governance for CI (#14938)</li>
<li>Add suppress for nuget multi-feed warning (#14893)</li>
<li>Bump NJsonSchema from 10.3.8 to 10.3.9 (#14926) (Thanks @dependabot[bot]!)</li>
<li>Add exe wrapper to release (#14881)</li>
<li>Bump Microsoft.ApplicationInsights from 2.16.0 to 2.17.0 (#14847)</li>
<li>Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1 (#14895) (Thanks @dependabot[bot]!)</li>
<li>Bump NJsonSchema from 10.3.7 to 10.3.8 (#14896) (Thanks @dependabot[bot]!)</li>
<li>Disable codesign validation where the file type is not supported (#14885)</li>
<li>Fixing broken Experimental Feature list in <code>powershell.config.json</code> (#14858)</li>
<li>Bump NJsonSchema from 10.3.6 to 10.3.7 (#14855)</li>
<li>Add exe wrapper for Microsoft Update scenarios (#14737)</li>
<li>Install wget on <code>CentOS</code> 7 docker image (#14857)</li>
<li>Fix install-dotnet download (#14856)</li>
<li>Fix Bootstrap step in Windows daily test runs (#14820)</li>
<li>Bump NJsonSchema from 10.3.5 to 10.3.6 (#14818)</li>
<li>Bump <code>NJsonSchema</code> from <code>10.3.4</code> to <code>10.3.5</code> (#14807)</li>
</ul>
</details>
### Documentation and Help Content
- Update `README.md` and `metadata.json` for upcoming releases (#14755)
- Merge 7.1.3 and 7.0.6 Change log to master (#15009)
- Update `README` and `metadata.json` for releases (#14997)
- Update ChangeLog for `v7.1.2` release (#14783)
- Update ChangeLog for `v7.0.5` release (#14782) (Internal 14479)
[7.2.0-preview.4]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.3...v7.2.0-preview.4
## [7.2.0-preview.3] - 2021-02-11
### Breaking Changes
- Fix `Get-Date -UFormat %u` behavior to comply with ISO 8601 (#14549) (Thanks @brianary!)
### Engine Updates and Fixes
- Together with `PSDesiredStateConfiguration` `v3` module allows `Get-DscResource`, `Invoke-DscResource` and DSC configuration compilation on all platforms, supported by PowerShell (using class-based DSC resources).
### Performance
- Avoid array allocations from `Directory.GetDirectories` and `Directory.GetFiles`. (#14326) (Thanks @xtqqczze!)
- Avoid `string.ToLowerInvariant()` from `GetEnvironmentVariableAsBool()` to avoid loading libicu at startup (#14323) (Thanks @iSazonov!)
- Get PowerShell version in `PSVersionInfo` using assembly attribute instead of `FileVersionInfo` (#14332) (Thanks @Fs00!)
### General Cmdlet Updates and Fixes
- Suppress `Write-Progress` in `ConsoleHost` if output is redirected and fix tests (#14716)
- Experimental feature `PSAnsiProgress`: Add minimal progress bar using ANSI rendering (#14414)
- Fix web cmdlets to properly construct URI from body when using `-NoProxy` (#14673)
- Update the `ICommandPredictor` to provide more feedback and also make feedback easier to be correlated (#14649)
- Reset color after writing `Verbose`, `Debug`, and `Warning` messages (#14698)
- Fix using variable for nested `ForEach-Object -Parallel` calls (#14548)
- When formatting, if collection is modified, don't fail the entire pipeline (#14438)
- Improve completion of parameters for attributes (#14525) (Thanks @MartinGC94!)
- Write proper error messages for `Get-Command ' '` (#13564) (Thanks @jakekerr!)
- Fix typo in the resource string `ProxyURINotSupplied` (#14526) (Thanks @romero126!)
- Add support to `$PSStyle` for strikethrough and hyperlinks (#14461)
- Fix `$PSStyle` blink codes (#14447) (Thanks @iSazonov!)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @powercode</p>
</summary>
<ul>
<li>Fix coding style issues: RCS1215, IDE0090, SA1504, SA1119, RCS1139, IDE0032 (#14356, #14341, #14241, #14204, #14442, #14443) (Thanks @xtqqczze!)</li>
<li>Enable coding style checks: CA2249, CA1052, IDE0076, IDE0077, SA1205, SA1003, SA1314, SA1216, SA1217, SA1213 (#14395, #14483, #14494, #14495, #14441, #14476, #14470, #14471, #14472) (Thanks @xtqqczze!)</li>
<li>Enable nullable in PowerShell codebase (#14160, #14172, #14088, #14154, #14166, #14184, #14178) (Thanks @powercode!)</li>
<li>Use <code>string.Split(char)</code> instead of <code>string.Split(string)</code> (#14465) (Thanks @xtqqczze!)</li>
<li>Use <code>string.Contains(char)</code> overload (#14368) (Thanks @xtqqczze!)</li>
<li>Refactor complex <code>if</code> statements (#14398) (Thanks @xtqqczze!)</li>
</ul>
</details>
### Tools
- Update script to use .NET 6 build resources (#14705)
- Fix the daily GitHub action (#14711) (Thanks @imba-tjd!)
- GitHub Actions: fix deprecated `::set-env` (#14629) (Thanks @imba-tjd!)
- Update markdown test tools (#14325) (Thanks @RDIL!)
- Upgrade `StyleCopAnalyzers` to `v1.2.0-beta.312` (#14354) (Thanks @xtqqczze!)
### Tests
- Remove packaging from daily Windows build (#14749)
- Update link to the Manning book (#14750)
- A separate Windows packaging CI (#14670)
- Update `ini` component version in test `package.json` (#14454)
- Disable `libmi` dependent tests for macOS. (#14446)
### Build and Packaging Improvements
<details>
<ul>
<li>Fix the NuGet feed name and URL for .NET 6</li>
<li>Fix third party signing for files in sub-folders (#14751)</li>
<li>Make build script variable an <code>ArrayList</code> to enable <code>Add()</code> method (#14748)</li>
<li>Remove old .NET SDKs to make <code>dotnet restore</code> work with the latest SDK in CI pipeline (#14746)</li>
<li>Remove outdated Linux dependencies (#14688)</li>
<li>Bump .NET SDK version to 6.0.0-preview.1 (#14719)</li>
<li>Bump <code>NJsonSchema</code> to 10.3.4 (#14714)</li>
<li>Update daily GitHub action to allow manual trigger (#14718)</li>
<li>Bump <code>XunitXml.TestLogger</code> to 3.0.62 (#14702)</li>
<li>Make universal deb package based on the deb package specification (#14681)</li>
<li>Add manual release automation steps and improve changelog script (#14445)</li>
<li>Fix release build to upload global tool packages to artifacts (#14620)</li>
<li>Port changes from the PowerShell v7.0.4 release (#14637)</li>
<li>Port changes from the PowerShell v7.1.1 release (#14621)</li>
<li>Updated README and <code>metadata.json</code> (#14401, #14606, #14612)</li>
<li>Do not push nupkg artifacts to MyGet (#14613)</li>
<li>Use one feed in each <code>nuget.config</code> in official builds (#14363)</li>
<li>Fix path signed RPMs are uploaded from in release build (#14424)</li>
</ul>
</details>
### Documentation and Help Content
- Update distribution support request template to point to .NET 5.0 support document (#14578)
- Remove security GitHub issue template (#14453)
- Add intent for using the Discussions feature in repo (#14399)
- Fix Universal Dashboard to refer to PowerShell Universal (#14437)
- Update document link because of HTTP 301 redirect (#14431) (Thanks @xtqqczze!)
[7.2.0-preview.3]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.2...v7.2.0-preview.3
## [7.2.0-preview.2] - 2020-12-15
### Breaking Changes
- Improve detection of mutable value types (#12495) (Thanks @vexx32!)
- Ensure `-PipelineVariable` is set for all output from script cmdlets (#12766) (Thanks @vexx32!)
### Experimental Features
- `PSAnsiRendering`: Enable ANSI formatting via `$PSStyle` and support suppressing ANSI output (#13758)
### Performance
- Optimize `IEnumerable` variant of replace operator (#14221) (Thanks @iSazonov!)
- Refactor multiply operation for better performance in two `Microsoft.PowerShell.Commands.Utility` methods (#14148) (Thanks @xtqqczze!)
- Use `Environment.TickCount64` instead of `Datetime.Now` as the random seed for AppLocker test file content (#14283) (Thanks @iSazonov!)
- Avoid unnecessary array allocations when searching in GAC (#14291) (Thanks @xtqqczze!)
- Use `OrdinalIgnoreCase` in `CommandLineParser` (#14303) (Thanks @iSazonov!)
- Use `StringComparison.Ordinal` instead of `StringComparison.CurrentCulture` (#14298) (Thanks @iSazonov!)
- Avoid creating instances of the generated delegate helper class in `-replace` implementation (#14128)
### General Cmdlet Updates and Fixes
- Write better error message if config file is broken (#13496) (Thanks @iSazonov!)
- Make AppLocker Enforce mode take precedence over UMCI Audit mode (#14353)
- Add `-SkipLimitCheck` switch to `Import-PowerShellDataFile` (#13672)
- Restrict `New-Object` in NoLanguage mode under lock down (#14140) (Thanks @krishnayalavarthi!)
- The `-Stream` parameter now works with directories (#13941) (Thanks @kyanha!)
- Avoid an exception if file system does not support reparse points (#13634) (Thanks @iSazonov!)
- Enable `CA1012`: Abstract types should not have public constructors (#13940) (Thanks @xtqqczze!)
- Enable `SA1212`: Property accessors should follow order (#14051) (Thanks @xtqqczze!)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @matthewjdegarmo, @powercode, @Gimly</p>
</summary>
<ul>
<li>Enable <code>SA1007</code>: Operator keyword should be followed by space (#14130) (Thanks @xtqqczze!)</li>
<li>Expand <code>where</code> alias to <code>Where-Object</code> in <code>Reset-PWSHSystemPath.ps1</code> (#14113) (Thanks @matthewjdegarmo!)</li>
<li>Fix whitespace issues (#14092) (Thanks @xtqqczze!)</li>
<li>Add <code>StyleCop.Analyzers</code> package (#13963) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0041</code>: <code>UseIsNullCheck</code> (#14041) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0082</code>: <code>ConvertTypeOfToNameOf</code> (#14042) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary usings part 4 (#14023) (Thanks @xtqqczze!)</li>
<li>Fix <code>PriorityAttribute</code> name (#14094) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Interpreter.IBoxableInstruction</code> (#14165) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IDynamicPropertyProvider</code> (#14167) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.IScriptExtent</code> (#14179) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.ICustomAstVisitor2</code> (#14192) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.LanguagePrimitives.IConversionData</code> (#14187) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Automation.Remoting.Client.IWSManNativeApiFacade</code> (#14186) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.ISupportsAssignment</code> (#14180) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.ICommandRuntime2</code> (#14183) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IOutputProcessingState</code> (#14175) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IJobDebugger</code> (#14174) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Interpreter.IInstructionProvider</code> (#14173) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IHasSessionStateEntryVisibility</code> (#14169) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Tracing.IEtwEventCorrelator</code> (#14168) (Thanks @powercode!)</li>
<li>Fix syntax error in Windows packaging script (#14377)</li>
<li>Remove redundant local assignment in <code>AclCommands</code> (#14358) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.IAstPostVisitHandler</code> (#14164) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IModuleAssemblyInitializer</code> (#14158) (Thanks @powercode!)</li>
<li>Use <code>Microsoft.PowerShell.MarkdownRender</code> package from <code>nuget.org</code> (#14090)</li>
<li>Replace <code>GetFiles</code> in <code>TestModuleManifestCommand</code> (#14317) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IContentWriter</code> (#14152) (Thanks @powercode!)</li>
<li>Simplify getting Encoding in <code>TranscriptionOption.FlushContentToDisk</code> (#13910) (Thanks @Gimly!)</li>
<li>Mark applicable structs as <code>readonly</code> and use <code>in</code>-modifier (#13919) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.IArgumentCompleter</code> (#14182) (Thanks @powercode!)</li>
<li>Enable <code>CA1822</code>: Mark <code>private</code> members as <code>static</code> (#13897) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 6 (#14338) (Thanks @xtqqczze!)</li>
<li>Avoid array allocations from <code>GetDirectories</code>/<code>GetFiles</code>. (#14328) (Thanks @xtqqczze!)</li>
<li>Avoid array allocations from <code>GetDirectories</code>/<code>GetFiles</code>. (#14330) (Thanks @xtqqczze!)</li>
<li>Fix <code>RCS1188</code>: Remove redundant auto-property initialization part 2 (#14262) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Host.IHostSupportsInteractiveSession</code> (#14170) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IPropertyCmdletProvider</code> (#14176) (Thanks @powercode!)</li>
<li>Fix <code>IDE0090</code>: Simplify new expression part 5 (#14301) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0075</code>: <code>SimplifyConditionalExpression</code> (#14078) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary usings part 9 (#14288) (Thanks @xtqqczze!)</li>
<li>Fix StyleCop and MarkdownLint CI failures (#14297) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1000</code>: Keywords should be spaced correctly (#13973) (Thanks @xtqqczze!)</li>
<li>Fix <code>RCS1188</code>: Remove redundant auto-property initialization part 1 (#14261) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 10 (#14235) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 9 (#14234) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1642</code> for <code>Microsoft.Management.Infrastructure.CimCmdlets</code> (#14239) (Thanks @xtqqczze!)</li>
<li>Use <code>AsSpan</code>/<code>AsMemory</code> slice constructor (#14265) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.6 (#14260) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.5 (#14259) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.3 (#14257) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.2 (#14256) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 2 (#14200) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1643</code>: Destructor summary documentation should begin with standard text (#14236) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify new expression part 4.4 (#14258) (Thanks @xtqqczze!)</li>
<li>Use xml documentation child blocks correctly (#14249) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.1 (#14255) (Thanks @xtqqczze!)</li>
<li>Use consistent spacing in xml documentation tags (#14231) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0074</code>: Use coalesce compound assignment (#13396) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary finalizers (#14248) (Thanks @xtqqczze!)</li>
<li>Mark local variable as <code>const</code> (#13217) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0032</code>: <code>UseAutoProperty</code> part 2 (#14244) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0032</code>: <code>UseAutoProperty</code> part 1 (#14243) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 8 (#14233) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 6 (#14229) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 5 (#14228) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 4 (#14227) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 3 (#14226) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 2 (#14225) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 1 (#14224) (Thanks @xtqqczze!)</li>
<li>Use <code>see</code> keyword in documentation (#14220) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA2211</code>: Non-constant fields should not be visible (#14073) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1816</code>: <code>Dispose</code> methods should call <code>SuppressFinalize</code> (#14074) (Thanks @xtqqczze!)</li>
<li>Remove incorrectly implemented finalizer (#14246) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 7 (#14230) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1122</code>: Use <code>string.Empty</code> for empty strings (#14218) (Thanks @xtqqczze!)</li>
<li>Fix various xml documentation issues (#14223) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary <code>using</code>s part 8 (#14072) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1006</code>: Preprocessor keywords should not be preceded by space (#14052) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1642</code> for <code>Microsoft.PowerShell.Commands.Utility</code> (#14142) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA2216</code>: Disposable types should declare finalizer (#14089) (Thanks @xtqqczze!)</li>
<li>Wrap and name <code>LoadBinaryModule</code> arguments (#14193) (Thanks @xtqqczze!)</li>
<li>Wrap and name <code>GetListOfFilesFromData</code> arguments (#14194) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1002</code>: Semicolons should be spaced correctly (#14197) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 3 (#14201) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1106</code>: Code should not contain empty statements (#13964) (Thanks @xtqqczze!)</li>
<li>Code performance fixes follow-up (#14207) (Thanks @xtqqczze!)</li>
<li>Remove uninformative comments (#14199) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 1 (#14027) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1517</code>: Code should not contain blank lines at start of file (#14131) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1131</code>: Use readable conditions (#14132) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1507</code>: Code should not contain multiple blank lines in a row (#14136) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1516</code> Elements should be separated by blank line (#14137) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0031</code>: Null check can be simplified (#13548) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1065</code>: Do not raise exceptions in unexpected locations (#14117) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1000</code>: Do not declare <code>static</code> members on generic types (#14097) (Thanks @xtqqczze!)</li>
</ul>
</details>
### Tools
- Fixing formatting in `Reset-PWSHSystemPath.ps1` (#13689) (Thanks @dgoldman-msft!)
### Tests
- Reinstate `Test-Connection` tests (#13324)
- Update markdown test packages with security fixes (#14145)
### Build and Packaging Improvements
<details>
<ul>
<li>Fix a typo in the <code>Get-ChangeLog</code> function (#14129)</li>
<li>Update <code>README</code> and <code>metadata.json</code> for <code>7.2.0-preview.1</code> release (#14104)</li>
<li>Bump <code>NJsonSchema</code> from <code>10.2.2</code> to <code>10.3.1</code> (#14040)</li>
<li>Move windows package signing to use ESRP (#14060)</li>
<li>Use one feed in each <code>nuget.config</code> in official builds (#14363)</li>
<li>Fix path signed RPMs are uploaded from in release build (#14424)</li>
<li>Add <code>Microsoft.PowerShell.MarkdownRender</code> to the package reference list (#14386)</li>
<li>Fix issue with unsigned build (#14367)</li>
<li>Move macOS and nuget to ESRP signing (#14324)</li>
<li>Fix nuget packaging to scrub <code>NullableAttribute</code> (#14344)</li>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> from 16.8.0 to 16.8.3 (#14310)</li>
<li>Bump <code>Markdig.Signed</code> from 0.22.0 to 0.22.1 (#14305)</li>
<li>Bump <code>Microsoft.ApplicationInsights</code> from 2.15.0 to 2.16.0 (#14031)</li>
<li>Move Linux to ESRP signing (#14210)</li>
</ul>
</details>
### Documentation and Help Content
- Fix example `nuget.config` (#14349)
- Fix a broken link in Code Guidelines doc (#14314) (Thanks @iSazonov!)
[7.2.0-preview.2]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.1...v7.2.0-preview.2
## [7.2.0-preview.1] - 2020-11-17
### Engine Updates and Fixes
- Change the default fallback encoding for `GetEncoding` in `Start-Transcript` to be `UTF8` without a BOM (#13732) (Thanks @Gimly!)
### General Cmdlet Updates and Fixes
- Update `pwsh -?` output to match docs (#13748)
- Fix `NullReferenceException` in `Test-Json` (#12942) (Thanks @iSazonov!)
- Make `Dispose` in `TranscriptionOption` idempotent (#13839) (Thanks @krishnayalavarthi!)
- Add additional Microsoft PowerShell modules to the tracked modules list (#12183)
- Relax further `SSL` verification checks for `WSMan` on non-Windows hosts with verification available (#13786) (Thanks @jborean93!)
- Add the `OutputTypeAttribute` to `Get-ExperimentalFeature` (#13738) (Thanks @ThomasNieto!)
- Fix blocking wait when starting file associated with a Windows application (#13750)
- Emit warning if `ConvertTo-Json` exceeds `-Depth` value (#13692)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @mkswd, @ThomasNieto, @PatLeong, @paul-cheung, @georgettica</p>
</summary>
<ul>
<li>Fix RCS1049: Simplify boolean comparison (#13994) (Thanks @xtqqczze!)</li>
<li>Enable IDE0062: Make local function static (#14044) (Thanks @xtqqczze!)</li>
<li>Enable CA2207: Initialize value type static fields inline (#14068) (Thanks @xtqqczze!)</li>
<li>Enable CA1837: Use <code>ProcessId</code> and <code>CurrentManagedThreadId</code> from <code>System.Environment</code> (#14063) (Thanks @xtqqczze and @PatLeong!)</li>
<li>Remove unnecessary using directives (#14014, #14017, #14021, #14050, #14065, #14066, #13863, #13860, #13861, #13814) (Thanks @xtqqczze and @ThomasNieto!)</li>
<li>Remove unnecessary usage of LINQ <code>Count</code> method (#13545) (Thanks @xtqqczze!)</li>
<li>Fix SA1518: The code must not contain extra blank lines at the end of the file (#13574) (Thanks @xtqqczze!)</li>
<li>Enable CA1829: Use the <code>Length</code> or <code>Count</code> property instead of <code>Count()</code> (#13925) (Thanks @xtqqczze!)</li>
<li>Enable CA1827: Do not use <code>Count()</code> or <code>LongCount()</code> when <code>Any()</code> can be used (#13923) (Thanks @xtqqczze!)</li>
<li>Enable or fix nullable usage in a few files (#13793, #13805, #13808, #14018, #13804) (Thanks @mkswd and @georgettica!)</li>
<li>Enable IDE0040: Add accessibility modifiers (#13962, #13874) (Thanks @xtqqczze!)</li>
<li>Make applicable private Guid fields readonly (#14000) (Thanks @xtqqczze!)</li>
<li>Fix CA1003: Use generic event handler instances (#13937) (Thanks @xtqqczze!)</li>
<li>Simplify delegate creation (#13578) (Thanks @xtqqczze!)</li>
<li>Fix RCS1033: Remove redundant boolean literal (#13454) (Thanks @xtqqczze!)</li>
<li>Fix RCS1221: Use pattern matching instead of combination of <code>as</code> operator and null check (#13333) (Thanks @xtqqczze!)</li>
<li>Use <code>is not</code> syntax (#13338) (Thanks @xtqqczze!)</li>
<li>Replace magic number with constant in PDH (#13536) (Thanks @xtqqczze!)</li>
<li>Fix accessor order (#13538) (Thanks @xtqqczze!)</li>
<li>Enable IDE0054: Use compound assignment (#13546) (Thanks @xtqqczze!)</li>
<li>Fix RCS1098: Constant values should be on right side of comparisons (#13833) (Thanks @xtqqczze!)</li>
<li>Enable CA1068: <code>CancellationToken</code> parameters must come last (#13867) (Thanks @xtqqczze!)</li>
<li>Enable CA10XX rules with suggestion severity (#13870, #13928, #13924) (Thanks @xtqqczze!)</li>
<li>Enable IDE0064: Make Struct fields writable (#13945) (Thanks @xtqqczze!)</li>
<li>Run <code>dotnet-format</code> to improve formatting of source code (#13503) (Thanks @xtqqczze!)</li>
<li>Enable CA1825: Avoid zero-length array allocations (#13961) (Thanks @xtqqczze!)</li>
<li>Add IDE analyzer rule IDs to comments (#13960) (Thanks @xtqqczze!)</li>
<li>Enable CA1830: Prefer strongly-typed <code>Append</code> and <code>Insert</code> method overloads on <code>StringBuilder</code> (#13926) (Thanks @xtqqczze!)</li>
<li>Enforce code style in build (#13957) (Thanks @xtqqczze!)</li>
<li>Enable CA1836: Prefer <code>IsEmpty</code> over <code>Count</code> when available (#13877) (Thanks @xtqqczze!)</li>
<li>Enable CA1834: Consider using <code>StringBuilder.Append(char)</code> when applicable (#13878) (Thanks @xtqqczze!)</li>
<li>Fix IDE0044: Make field readonly (#13884, #13885, #13888, #13892, #13889, #13886, #13890, #13891, #13887, #13893, #13969, #13967, #13968, #13970, #13971, #13966, #14012) (Thanks @xtqqczze!)</li>
<li>Enable IDE0048: Add required parentheses (#13896) (Thanks @xtqqczze!)</li>
<li>Enable IDE1005: Invoke delegate with conditional access (#13911) (Thanks @xtqqczze!)</li>
<li>Enable IDE0036: Enable the check on the order of modifiers (#13958, #13881) (Thanks @xtqqczze!)</li>
<li>Use span-based <code>String.Concat</code> instead of <code>String.Substring</code> (#13500) (Thanks @xtqqczze!)</li>
<li>Enable CA1050: Declare types in namespace (#13872) (Thanks @xtqqczze!)</li>
<li>Fix minor keyword typo in C# code comment (#13811) (Thanks @paul-cheung!)</li>
</ul>
</details>
### Tools
- Enable `CodeQL` Security scanning (#13894)
- Add global `AnalyzerConfig` with default configuration (#13835) (Thanks @xtqqczze!)
### Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@mkswd, @xtqqczze</p>
</summary>
<ul>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> to <code>16.8.0</code> (#14020)</li>
<li>Bump <code>Microsoft.CodeAnalysis.CSharp</code> to <code>3.8.0</code> (#14075)</li>
<li>Remove workarounds for .NET 5 RTM builds (#14038)</li>
<li>Migrate 3rd party signing to ESRP (#14010)</li>
<li>Fixes to release pipeline for GA release (#14034)</li>
<li>Don't do a shallow checkout (#13992)</li>
<li>Add validation and dependencies for Ubuntu 20.04 distribution to packaging script (#13993)</li>
<li>Add .NET install workaround for RTM (#13991)</li>
<li>Move to ESRP signing for Windows files (#13988)</li>
<li>Update <code>PSReadLine</code> version to <code>2.1.0</code> (#13975)</li>
<li>Bump .NET to version <code>5.0.100-rtm.20526.5</code> (#13920)</li>
<li>Update script to use .NET RTM feeds (#13927)</li>
<li>Add checkout step to release build templates (#13840)</li>
<li>Turn on <code>/features:strict</code> for all projects (#13383) (Thanks @xtqqczze!)</li>
<li>Bump <code>NJsonSchema</code> to <code>10.2.2</code> (#13722, #13751)</li>
<li>Add flag to make Linux script publish to production repo (#13714)</li>
<li>Bump <code>Markdig.Signed</code> to <code>0.22.0</code> (#13741)</li>
<li>Use new release script for Linux packages (#13705)</li>
</ul>
</details>
### Documentation and Help Content
- Fix links to LTS versions for Windows (#14070)
- Fix `crontab` formatting in example doc (#13712) (Thanks @dgoldman-msft!)
[7.2.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.1.0...v7.2.0-preview.1

View file

@ -1,13 +1,15 @@
{
"sdk": {
"channel": "6.0.1xx-preview4",
"channel": "6.0.1xx",
"quality": "signed",
"qualityFallback": "daily",
"packageVersionPattern": "6.0.0-preview.4",
"packageVersionPattern": "6.0.0",
"sdkImageVersion": "6.0.100",
"nextChannel": "6.0.1xx-preview6"
"nextChannel": "6.0.1xx",
"azureFeed": "",
"sdkImageOverride": ""
},
"internalfeed" : {
"url": null
"url": ""
}
}

View file

@ -136,14 +136,17 @@
<Copyright>(c) Microsoft Corporation.</Copyright>
<TargetFramework>net6.0</TargetFramework>
<LangVersion>9.0</LangVersion>
<LangVersion>10.0</LangVersion>
<PublishReadyToRun Condition=" '$(Configuration)' != 'Debug' ">true</PublishReadyToRun>
<PublishReadyToRunEmitSymbols>true</PublishReadyToRunEmitSymbols>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
<NeutralLanguage>en-US</NeutralLanguage>
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
<DisableImplicitNamespaceImports_DotNet>true</DisableImplicitNamespaceImports_DotNet>
<DelaySign>true</DelaySign>
<AssemblyOriginatorKeyFile>../signing/visualstudiopublic.snk</AssemblyOriginatorKeyFile>

112
README.md
View file

@ -30,18 +30,19 @@ You can download and install a PowerShell package for any of the following platf
| -------------------------------------------| ------------------------| ------------------------| ----------------------| ------------------------------|
| [Windows (x64)][corefx-win] | [.msi][lts-windows-64] | [.msi][rl-windows-64] | [.msi][pv-windows-64] | [Instructions][in-windows] |
| [Windows (x86)][corefx-win] | [.msi][lts-windows-86] | [.msi][rl-windows-86] | [.msi][pv-windows-86] | [Instructions][in-windows] |
| [Ubuntu 20.04][corefx-linux] | | [.deb][rl-ubuntu20] | [.deb][pv-deb] | [Instructions][in-ubuntu20] |
| [Ubuntu 18.04][corefx-linux] | [.deb][lts-ubuntu18] | [.deb][rl-ubuntu18] | [.deb][pv-deb] | [Instructions][in-ubuntu18] |
| [Ubuntu 16.04][corefx-linux] | [.deb][lts-ubuntu16] | [.deb][rl-ubuntu16] | [.deb][pv-deb] | [Instructions][in-ubuntu16] |
| [Debian 9][corefx-linux] | [.deb][lts-debian9] | [.deb][rl-debian9] | [.deb][pv-deb] | [Instructions][in-deb9] |
| [Debian 10][corefx-linux] | [.deb][lts-debian10] | [.deb][rl-debian10] | [.deb][pv-deb] | [Instructions][in-deb9] |
| [Debian 11][corefx-linux] | | [.deb][rl-debian11] | [.deb][pv-deb] | |
| [CentOS 7][corefx-linux] | [.rpm][lts-centos] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-centos] |
| [CentOS 8][corefx-linux] | [.rpm][lts-centos8] | [.rpm][rl-centos8] | [.rpm][pv-rpm] | |
| [Red Hat Enterprise Linux 7][corefx-linux] | [.rpm][lts-centos] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-rhel7] |
| [openSUSE 42.3][corefx-linux] | [.rpm][lts-centos] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-opensuse] |
| [Fedora 30][corefx-linux] | [.rpm][lts-centos] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-fedora] |
| [macOS 10.13+][corefx-macos] | [.pkg][lts-macos] | [.pkg][rl-macos] | [.pkg][pv-macos] | [Instructions][in-macos] |
| [Ubuntu 20.04][corefx-linux] | [.deb][lts-deb] | [.deb][rl-ubuntu20] | [.deb][pv-deb] | [Instructions][in-ubuntu20] |
| [Ubuntu 18.04][corefx-linux] | [.deb][lts-deb] | [.deb][rl-ubuntu18] | [.deb][pv-deb] | [Instructions][in-ubuntu18] |
| [Ubuntu 16.04][corefx-linux] | [.deb][lts-deb] | [.deb][rl-ubuntu16] | [.deb][pv-deb] | [Instructions][in-ubuntu16] |
| [Debian 9][corefx-linux] | [.deb][lts-deb] | [.deb][rl-debian9] | [.deb][pv-deb] | [Instructions][in-deb9] |
| [Debian 10][corefx-linux] | [.deb][lts-deb] | [.deb][rl-debian10] | [.deb][pv-deb] | [Instructions][in-deb9] |
| [Debian 11][corefx-linux] | [.deb][lts-deb] | [.deb][rl-debian11] | [.deb][pv-deb] | |
| [CentOS 7][corefx-linux] | [.rpm][lts-rh] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-centos] |
| [CentOS 8][corefx-linux] | [.rpm][lts-rh] | [.rpm][rl-centos8] | [.rpm][pv-rpm] | |
| [Red Hat Enterprise Linux 7][corefx-linux] | [.rpm][lts-rh] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-rhel7] |
| [openSUSE 42.3][corefx-linux] | [.rpm][lts-rh] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-opensuse] |
| [Fedora 30][corefx-linux] | [.rpm][lts-rh] | [.rpm][rl-centos] | [.rpm][pv-rpm] | [Instructions][in-fedora] |
| [macOS 10.13+ (x64)][corefx-macos] | [.pkg][lts-macos] | [.pkg][rl-macos] | [.pkg][pv-macos] | [Instructions][in-macos] |
| [macOS 10.13+ (arm64)][corefx-macos] | [.pkg][lts-macos-arm64] | [.pkg][rl-macos-arm64] | [.pkg][pv-macos-arm64]| [Instructions][in-macos] |
| Docker | | | | [Instructions][in-docker] |
You can download and install a PowerShell package for any of the following platforms, **which are supported by the community.**
@ -57,53 +58,55 @@ You can also download the PowerShell binary archives for Windows, macOS and Linu
| Platform | Downloads (stable) | Downloads (preview) | How to Install |
| ---------------| --------------------------------------------------- | ------------------------------------------------| -----------------------------------------------|
| Windows | [32-bit][rl-winx86-zip]/[64-bit][rl-winx64-zip] | [32-bit][pv-winx86-zip]/[64-bit][pv-winx64-zip] | [Instructions][in-windows-zip] |
| macOS | [64-bit][rl-macos-tar] | [64-bit][pv-macos-tar] | [Instructions][in-tar-macos] |
| macOS (x64) | [64-bit][rl-macos-tar] | [64-bit][pv-macos-tar] | [Instructions][in-tar-macos] |
| macOS (arm64) | [64-bit][rl-macos-tar-arm64] | [64-bit][pv-macos-tar-arm64] | [Instructions][in-tar-macos] |
| Linux | [64-bit][rl-linux-tar] | [64-bit][pv-linux-tar] | [Instructions][in-tar-linux] |
| Windows (Arm) | [64-bit][rl-winarm64] (preview) | [64-bit][pv-winarm64] | [Instructions][in-arm] |
| Raspbian (Arm) | [32-bit][rl-arm32]/[64-bit][rl-arm64] | [32-bit][pv-arm32]/[64-bit][pv-arm64] | [Instructions][in-raspbian] |
[lts-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/PowerShell-7.0.6-win-x86.msi
[lts-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/PowerShell-7.0.6-win-x64.msi
[lts-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts_7.0.6-1.ubuntu.18.04_amd64.deb
[lts-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts_7.0.6-1.ubuntu.16.04_amd64.deb
[lts-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts_7.0.6-1.debian.9_amd64.deb
[lts-debian10]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts_7.0.6-1.debian.10_amd64.deb
[lts-centos]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts-7.0.6-1.rhel.7.x86_64.rpm
[lts-centos8]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts-7.0.6-1.centos.8.x86_64.rpm
[lts-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.6/powershell-lts-7.0.6-osx-x64.pkg
[lts-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x86.msi
[lts-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x64.msi
[lts-deb]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts_7.2.0-1.deb_amd64.deb
[lts-rh]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-1.rh.x86_64.rpm
[lts-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-osx-x64.pkg
[lts-macos-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-osx-arm64.pkg
[rl-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x64.msi
[rl-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x86.msi
[rl-ubuntu20]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.ubuntu.20.04_amd64.deb
[rl-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.ubuntu.18.04_amd64.deb
[rl-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.ubuntu.16.04_amd64.deb
[rl-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.debian.9_amd64.deb
[rl-debian10]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.debian.10_amd64.deb
[rl-debian11]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell_7.1.3-1.debian.11_amd64.deb
[rl-centos]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-1.rhel.7.x86_64.rpm
[rl-centos8]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-1.centos.8.x86_64.rpm
[rl-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-osx-x64.pkg
[rl-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-arm64.zip
[rl-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x86.zip
[rl-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x64.zip
[rl-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-osx-x64.tar.gz
[rl-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz
[rl-arm32]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-arm32.tar.gz
[rl-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-arm64.tar.gz
[rl-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x64.msi
[rl-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x86.msi
[rl-ubuntu20]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-debian10]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-debian11]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell_7.2.0-1.deb_amd64.deb
[rl-centos]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-1.rh.x86_64.rpm
[rl-centos8]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-1.rh.x86_64.rpm
[rl-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-osx-x64.pkg
[rl-macos-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-osx-arm64.pkg
[rl-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-arm64.zip
[rl-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x86.zip
[rl-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x64.zip
[rl-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-osx-x64.tar.gz
[rl-macos-tar-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-osx-arm64.tar.gz
[rl-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-linux-x64.tar.gz
[rl-arm32]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-linux-arm32.tar.gz
[rl-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-7.2.0-linux-arm64.tar.gz
[rl-snap]: https://snapcraft.io/powershell
[pv-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/PowerShell-7.2.0-preview.7-win-x64.msi
[pv-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/PowerShell-7.2.0-preview.7-win-x86.msi
[pv-deb]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-preview_7.2.0-preview.7-1.deb_amd64.deb
[pv-rpm]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-preview-7.2.0_preview.7-1.rh.x86_64.rpm
[pv-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-7.2.0-preview.7-osx-x64.pkg
[pv-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/PowerShell-7.2.0-preview.7-win-arm64.zip
[pv-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/PowerShell-7.2.0-preview.7-win-x86.zip
[pv-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/PowerShell-7.2.0-preview.7-win-x64.zip
[pv-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-7.2.0-preview.7-osx-x64.tar.gz
[pv-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-7.2.0-preview.7-linux-x64.tar.gz
[pv-arm32]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-7.2.0-preview.7-linux-arm32.tar.gz
[pv-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.7/powershell-7.2.0-preview.7-linux-arm64.tar.gz
[pv-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/PowerShell-7.2.0-rc.1-win-x64.msi
[pv-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/PowerShell-7.2.0-rc.1-win-x86.msi
[pv-deb]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-preview_7.2.0-rc.1-1.deb_amd64.deb
[pv-rpm]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-preview-7.2.0_rc.1-1.rh.x86_64.rpm
[pv-macos]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-osx-x64.pkg
[pv-macos-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-osx-arm64.pkg
[pv-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/PowerShell-7.2.0-rc.1-win-arm64.zip
[pv-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/PowerShell-7.2.0-rc.1-win-x86.zip
[pv-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/PowerShell-7.2.0-rc.1-win-x64.zip
[pv-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-osx-x64.tar.gz
[pv-macos-tar-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-osx-arm64.tar.gz
[pv-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-linux-x64.tar.gz
[pv-arm32]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-linux-arm32.tar.gz
[pv-arm64]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-rc.1/powershell-7.2.0-rc.1-linux-arm64.tar.gz
[pv-snap]: https://snapcraft.io/powershell-preview
[in-windows]: https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-windows
@ -236,9 +239,8 @@ License: By requesting and using the Container OS Image for Windows containers,
### Telemetry
By default, PowerShell collects the OS description and the version of PowerShell (equivalent to `$PSVersionTable.OS` and `$PSVersionTable.GitCommitId`) using [Application Insights](https://azure.microsoft.com/services/application-insights/).
To opt-out of sending telemetry, create an environment variable called `POWERSHELL_TELEMETRY_OPTOUT` set to a value of `1` before starting PowerShell from the installed location.
The telemetry we collect falls under the [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement/).
Please visit our [about_Telemetry](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_telemetry)
topic to read details about telemetry gathered by PowerShell.
## Governance

File diff suppressed because it is too large Load diff

View file

@ -1,46 +1,42 @@
## Used to generate a new TPN
## Copy this into the additional attributions fields
## Copy everything below here, but do not include this line
---------------------------------------------
File: PSReadLine
---------------------------------------------
-------------------------------------------------------------------
https://github.com/lzybkr/PSReadLine
-------------------------------------------------------------------
Copyright (c) 2013, Jason Shirk
Additional -
All rights reserved.
-------------------------------------------------
Microsoft.PowerShell.Archive
-------------------------------------------------
BSD License
Copyright (c) 2016 Microsoft Corporation.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
The MIT License (MIT)
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
----------------------------------------------
File: Hashtables from ConvertFrom-json
----------------------------------------------
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
https://stackoverflow.com/questions/22002748/hashtables-from-convertfrom-json-have-different-type-from-powershells-built-in-h
-------------------------------------------------
Microsoft.Management.Infrastructure.Runtime.Unix
Microsoft.Management.Infrastructure
-------------------------------------------------
Copyright (c) 2015 Dave Wyatt. All rights reserved.
Copyright (c) Microsoft Corporation
All rights reserved.
@ -52,33 +48,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-------------------------------------------------
PackageManagement
-------------------------------------------------
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the Software), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
--------------------------------------------------------
• NuGet.Common
• NuGet.Configuration
@ -108,3 +77,116 @@ Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
-------------------------------------------------
PackageManagement
-------------------------------------------------
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the Software), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-------------------------------------------------
PowerShellGet
-------------------------------------------------
Copyright (c) Microsoft Corporation
All rights reserved.
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------
File: PSReadLine
---------------------------------------------
https://github.com/PowerShell/PSReadLine
Copyright (c) 2013, Jason Shirk
All rights reserved.
BSD License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------
ThreadJob
-------------------------------------------------
Copyright (c) 2018 Paul Higinbotham
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -350,7 +350,7 @@
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" TabSkip="yes" />
<Control Id="Description" Type="Text" X="25" Y="54" Width="280" Height="100" Transparent="yes" NoPrefix="yes" Text="Microsoft Update helps keep your computer secure and up to date for Windows and other Microsoft products, including PowerShell 7. Updates will be delivered based on your current update settings. You can review or change these settings from the Windows Update control panel." TabSkip="yes" />
<!-- If the checkboxes are defined first, then they are first in the tab order and can be ticked and unticked using the spacebar -->
<Control Id="UseMuCheckBox" Type="CheckBox" X="20" Y="100" Width="290" Height="27" Property="USE_MU" CheckBoxValue="1" Text="Enable updating PowerShell through Microsft Update or WSUS (recommended)"/>
<Control Id="UseMuCheckBox" Type="CheckBox" X="20" Y="100" Width="290" Height="27" Property="USE_MU" CheckBoxValue="1" Text="Enable updating PowerShell through Microsoft Update or WSUS (recommended)"/>
<Control Id="EnableMuCheckBox" Type="CheckBox" X="20" Y="130" Width="290" Height="17" Property="ENABLE_MU" CheckBoxValue="1" Text="Use Microsoft Update when I check for updates (recommended)">
</Control>
<Control Id="MuWarningText" Type="Text" X="20" Y="160" Width="290" Height="27" Text="Without Microsoft Update enabled, you will need to use another update solution like WSUS or SCCM in order to receive automatic updates.">
@ -361,7 +361,7 @@
<Text><![CDATA[<a href="https://aka.ms/PowerShell-Microsoft-Update-FAQ">See the Microsoft Update FAQ</a>]]></Text>
</Control>
<Control Id="PrivacyLink" Type="Hyperlink" X="20" Y="210" Width="290" Height="17">
<Text><![CDATA[<a href="https://aka.ms/PowerShell-Microsoft-Update-Privacy-Statement">Read the Microsoft Update Priacy Statement</a>]]></Text>
<Text><![CDATA[<a href="https://aka.ms/PowerShell-Microsoft-Update-Privacy-Statement">Read the Microsoft Update Privacy Statement</a>]]></Text>
</Control>
<!-- divider and bottom buttons -->
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" TabSkip="yes"/>

View file

@ -1608,9 +1608,6 @@
<Component Id="cmp72C41225E0B4457C8CB5F4C5FE6E3187" Guid="{ee32f38f-14ee-4a85-914f-d02522cc3635}">
<File Id="fil04B0F83A7AED430A86A7E6E3E99AB45D" KeyPath="yes" Source="$(var.ProductSourcePath)\ref\System.Formats.Asn1.dll" />
</Component>
<Component Id="cmp49588B1BA09F4BBCA352B162F387AAF1">
<File Id="fil77BEE4F2A1A44842B4135984E1D71538" KeyPath="yes" Source="$(var.ProductSourcePath)\ref\System.Net.Quic.dll" />
</Component>
<Component Id="cmpEE26930D65E346FDAE1B3E07F5DBEF77">
<File Id="filBC93A3F22F78439F8D4173E4C64ACFDC" KeyPath="yes" Source="$(var.ProductSourcePath)\ref\System.Text.Encodings.Web.dll" />
</Component>
@ -1990,6 +1987,12 @@
<Component Id="cmp57D197B18F1F4A6AAB704B28CF61B535">
<File Id="fil71B3802CB88348AC888B9902212CADA2" KeyPath="yes" Source="$(var.ProductSourcePath)\cs\Microsoft.VisualBasic.Forms.resources.dll" />
</Component>
<Component Id="cmp690BAC3241424F59B5D30DE0E846D03E">
<File Id="filDBDCB9BFFF9F425B8CF7F7A5F05D42B1" KeyPath="yes" Source="$(var.ProductSourcePath)\cs\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp5B67AE2852E04C26970FD2016CA76E07">
<File Id="fil42D10EBCB41B426BAFBF26BB053A9E84" KeyPath="yes" Source="$(var.ProductSourcePath)\cs\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dirEA0127D6607E68B508B9DB9CE315A2CE" Name="de">
<Component Id="cmpF2941A91B17EEA22CD6DAB34693D9AC0">
@ -2049,6 +2052,12 @@
<Component Id="cmpB40EE0CC916B4928987F62F5909AE709">
<File Id="filA21E2DDEAEAE4E0D94346C5671D9D29F" KeyPath="yes" Source="$(var.ProductSourcePath)\de\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpB43ED7BA30C844E2B5C38F7B747EEFDC">
<File Id="filE106C77258F047E8A384E1E75B7EF6B8" KeyPath="yes" Source="$(var.ProductSourcePath)\de\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp777DF202EF2542F2ACFCCF0481E8D6EE">
<File Id="filFCCE95BFDDD540E1AA243049872EF5D0" KeyPath="yes" Source="$(var.ProductSourcePath)\de\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir5B65D7353FBDCD17AB60A674B3FDF93B" Name="es">
<Component Id="cmpBEB5F3CF75675537751F0D0B32125BF1">
@ -2108,6 +2117,12 @@
<Component Id="cmpB944176DE7924A268269903DC0B5D510">
<File Id="filBA47C41DFB3849228624C99949FB61FC" KeyPath="yes" Source="$(var.ProductSourcePath)\es\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpCC4A42AA70EE4418926986F5A4B8D3FA">
<File Id="fil186134FCB6984F1484A8308DF4F2B917" KeyPath="yes" Source="$(var.ProductSourcePath)\es\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmpF96C036EAE3B436DB096888697193FAF">
<File Id="fil761ECB84FAFA4674AB5712669532C569" KeyPath="yes" Source="$(var.ProductSourcePath)\es\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir23063512FA8C884E1B4F08FDF0A44516" Name="fr">
<Component Id="cmp1DEB513A065956086898BCDACC5887B6">
@ -2167,6 +2182,12 @@
<Component Id="cmp7B5948A1A366409F99B871F0E772B945">
<File Id="filCCA6A5EE7ED9459C93A8C05B0A93880F" KeyPath="yes" Source="$(var.ProductSourcePath)\fr\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpE7BE9D8F63E04798870E57BA1EABB9A5">
<File Id="fil93C038D9EED945F5A984CF3C98EDB72B" KeyPath="yes" Source="$(var.ProductSourcePath)\fr\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp789F545EA2CB4AC5A2688CF730A5F6B4">
<File Id="fil70A83BE26FCF4905B220521A6B75198D" KeyPath="yes" Source="$(var.ProductSourcePath)\fr\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir42B03840AE19D1498CC524F2B6C0389D" Name="it">
<Component Id="cmp3EC91B8BF4282E77113321E5D1ED27B2">
@ -2226,6 +2247,12 @@
<Component Id="cmp28349C4ACD6D42D3967853E0A1D7DC4E">
<File Id="filDF0828378FCA4CAC8F7DA90DC4F802CC" KeyPath="yes" Source="$(var.ProductSourcePath)\it\Microsoft.VisualBasic.Forms.resources.dll" />
</Component>
<Component Id="cmp166B17F72C954B0087DF991E560B399A">
<File Id="fil528F0FBF10C246568FCE1F5B10E541D1" KeyPath="yes" Source="$(var.ProductSourcePath)\it\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp0173AE0CBFA44C269D93361F6C98F99B">
<File Id="fil3767F5D3C1264EC596A9F335355521C6" KeyPath="yes" Source="$(var.ProductSourcePath)\it\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir086D21BE309BE4C7081FC60E3524890F" Name="ja">
<Component Id="cmp867E4E51FE7BC09AAD5D59FD76716FBC">
@ -2285,6 +2312,12 @@
<Component Id="cmp26335B5D1FE94E87A6B6EBD56A22C2B9">
<File Id="filD585A7E89ACF4E4CB9DB8EAD4ACB7092" KeyPath="yes" Source="$(var.ProductSourcePath)\ja\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmp529A2B5343FD466884FAF627E37C648D">
<File Id="fil265B2A6A67EF4C6E8C17BDC3AAD8F729" KeyPath="yes" Source="$(var.ProductSourcePath)\ja\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp5492F78ACB1A4391BBED371FDFC06B9E">
<File Id="fil54F7909E28E54B0687222DFD1D95009D" KeyPath="yes" Source="$(var.ProductSourcePath)\ja\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir43D6CAD5F3ED1060009918D06D84FB18" Name="ko">
<Component Id="cmpAA026CCA623F0E8FB5BAE9F201C5B89D">
@ -2344,6 +2377,12 @@
<Component Id="cmpF4093A1E8AB94B43AB0F852EB647CE7F">
<File Id="filCE28F42A54C24F5DA508904E60E23BBD" KeyPath="yes" Source="$(var.ProductSourcePath)\ko\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmp4EE1633EE4864CE5B9015BF76BD31D14">
<File Id="fil688FE14A80204086A48DE1BDC6591EB0" KeyPath="yes" Source="$(var.ProductSourcePath)\ko\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp3B07F4E4B6034F3284288C18F4638CA7">
<File Id="filA52AFEA335CA41D98DB28358CE344EB5" KeyPath="yes" Source="$(var.ProductSourcePath)\ko\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dirE8201C74A7184D11233BAD63C6DB37BD" Name="pl">
<Component Id="cmpA656A18FE14D3C8EB02C31AE474054E3">
@ -2403,6 +2442,12 @@
<Component Id="cmp705598FEC8EA43D7A9B239787BA5DB09">
<File Id="filD8ECB20D015F4477ABD58505B48D02D1" KeyPath="yes" Source="$(var.ProductSourcePath)\pl\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpC8C68DB0DEE44CF49D98532D2C26395E">
<File Id="fil1959B05E9F214DCFA6670F1892EE2E7D" KeyPath="yes" Source="$(var.ProductSourcePath)\pl\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmpA8A66545C44F428BB552B55EEE353BB0">
<File Id="filC0107BEFC31E4F9AB5037537B82D92EF" KeyPath="yes" Source="$(var.ProductSourcePath)\pl\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir47ED939BFA870848E0764E862CD6B4D7" Name="pt-BR">
<Component Id="cmp3D20E940BDBF41630242C63011A80CE5">
@ -2462,6 +2507,12 @@
<Component Id="cmpFAA0CCBA17FE4E8FAE5FE4B5F679DF52">
<File Id="fil6A42B845F64A4B2490AFFA079E0FB086" KeyPath="yes" Source="$(var.ProductSourcePath)\pt-BR\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpF3C18F07C6A148638CBC858EB02E3A6D">
<File Id="filE6672552F1EE45D3AC3021E02DB093CB" KeyPath="yes" Source="$(var.ProductSourcePath)\pt-BR\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp0C4751F9D5C14419A45F234152D21DA9">
<File Id="filF6E3EF23DEEF4D3BB3CA9C9D084FB607" KeyPath="yes" Source="$(var.ProductSourcePath)\pt-BR\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir37B8DFAE26D5F8E9948851F7D19F9E20" Name="ru">
<Component Id="cmpFDCD51BD80926ABECCE27D0D66A47C8F">
@ -2521,6 +2572,12 @@
<Component Id="cmpA6FA5B27C61E482D8BBC5F1806D3B223">
<File Id="filD4732A3ABFD342B890F75CCB5DE1CAE8" KeyPath="yes" Source="$(var.ProductSourcePath)\ru\System.Windows.Forms.Primitives.resources.dll" />
</Component>
<Component Id="cmpBD958F4B8F9146499DE2CA6321C65F96">
<File Id="fil6A1EB9311FE546F69F28948794DC43BF" KeyPath="yes" Source="$(var.ProductSourcePath)\ru\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp6ADB50DF9F2D4BCA9E682AA6D1C7C03B">
<File Id="fil7FECA5AED84D4C84968358F2C065BBEC" KeyPath="yes" Source="$(var.ProductSourcePath)\ru\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dirA7E9CC01273A7FED89FC8D3A368E00CC" Name="tr">
<Component Id="cmp286FCD0B19BF06446A7274672A2491CA">
@ -2580,6 +2637,12 @@
<Component Id="cmp10773057C33543FA93222022DEC0847D">
<File Id="filD2D3E621E5C54C5EBF044078C9073C2B" KeyPath="yes" Source="$(var.ProductSourcePath)\tr\Microsoft.VisualBasic.Forms.resources.dll" />
</Component>
<Component Id="cmp2B8239B905B146A69CD5D55A353AC131">
<File Id="fil618AA430D1794A45A1D2BAA2451BECB2" KeyPath="yes" Source="$(var.ProductSourcePath)\tr\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmp9FCFAEB797D9475C873E21B4B5A89E28">
<File Id="filC4BDA69F669843EAAD7B6D8714CB1420" KeyPath="yes" Source="$(var.ProductSourcePath)\tr\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dir47E993970F74AA9F393D23500827D12C" Name="zh-Hans">
<Component Id="cmp34C4A21743AC68583599BF2B139F39F2">
@ -2639,6 +2702,12 @@
<Component Id="cmp33364765C98D4BE09BD26DC1E6B95B86">
<File Id="filB57C4C58936D4A7587CEA358B1AF57C2" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hans\Microsoft.VisualBasic.Forms.resources.dll" />
</Component>
<Component Id="cmp582595AE8291444E837793472E0A259C">
<File Id="fil7044506B31FA4130B2E375147032298D" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hans\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmpF24D3B9F29F84B4D9C47577B7926FC2E">
<File Id="fil0AF0C0F933404EABBC94B10ED8740042" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hans\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Id="dirB1FFB91EED6FD71EA866548CEA3A5298" Name="zh-Hant">
<Component Id="cmpBC28FE8B65954B00AECA9C534639596D">
@ -2698,6 +2767,12 @@
<Component Id="cmpB9B22A80E70F414B8778B852E29D6492">
<File Id="fil46C0F341CAB64BD390BEA73E1FE0F552" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hant\Microsoft.VisualBasic.Forms.resources.dll" />
</Component>
<Component Id="cmp91C27D1766E84B8BB0F0C70888F03C2E">
<File Id="filC888727CE05A4A9FA0DB66EE0F15097C" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hant\System.Private.ServiceModel.resources.dll" />
</Component>
<Component Id="cmpD55F08F6CF51498E9E8551067BA57040">
<File Id="fil46C47F01171F45A898A7AD6A14ACE432" KeyPath="yes" Source="$(var.ProductSourcePath)\zh-Hant\System.Web.Services.Description.resources.dll" />
</Component>
</Directory>
<Directory Name="Schemas" Id="dir1DB5B24CC3494785974A51F28F128069">
<Directory Name="PSMaml" Id="dirAC38B2C7629B42DC836E01F976A10EC9">
@ -3054,8 +3129,30 @@
<Component Id="cmp3547A55EA9D04784B4CF2FC717447E16">
<File Id="fil463DDA419769417A8D5A34C433E194F2" KeyPath="yes" Source="$(var.ProductSourcePath)\System.Speech.dll" />
</Component>
<Component Id="cmp8A922220F11C42439D6447B6654A8FC2">
<File Id="fil1EE3A80C6C944700A5C2B75C4AB30B21" KeyPath="yes" Source="$(var.ProductSourcePath)\mscordaccore_$(var.FileArchitecture)_$(var.FileArchitecture)_6.0.21.35212.dll" />
<Component Id="cmp957498053E01454DA1E21E6D7317DCD6">
<File Id="fil2AA6F0D8A51D4BB89F33F2B73AB12391" KeyPath="yes" Source="$(var.ProductSourcePath)\msquic.dll" />
</Component>
<Directory Name="_manifest" Id="dir81094D6B916B4BC8B1BA0E1DADB93A02">
<Directory Name="spdx_2.2" Id="dirA36413FB3A534FDF8657D62728080E9F">
<Component Id="cmp408A3AF905EB47ADA35FBC5A6B1465A0">
<File Id="fil2146848B6ACB45FCA8E9C8FEE3BECDD8" KeyPath="yes" Source="$(var.ProductSourcePath)\_manifest\spdx_2.2\manifest.spdx.json" />
</Component>
</Directory>
</Directory>
<Component Id="cmpA6276F9EAB41411AAAEC496E67A3DBAE">
<File Id="filC840646CDE814D33B16DA3A5BBDDC88D" KeyPath="yes" Source="$(var.ProductSourcePath)\psoptions.json" />
</Component>
<Component Id="cmp3CF3F69A352F4438B8F2F73EBBD12996">
<File Id="filB8F63979F96B4007BA9C0CE6BD3531D0" KeyPath="yes" Source="$(var.ProductSourcePath)\Microsoft.Extensions.ObjectPool.dll" />
</Component>
<Component Id="cmp09155DA101E1424B98832A789E93E835">
<File Id="fil7D748565EBF5423A84CFC6D25D21F43C" KeyPath="yes" Source="$(var.ProductSourcePath)\Microsoft.Bcl.AsyncInterfaces.dll" />
</Component>
<Component Id="cmp22840874A8C84AA796496634FBEBF09C">
<File Id="fil2067B616D1FA4B30932A0240ABE06089" KeyPath="yes" Source="$(var.ProductSourcePath)\System.Web.Services.Description.dll" />
</Component>
<Component Id="cmpFB17CABA17334B2BBA1ED6CBF757B310">
<File Id="fil1621E0132D2C49B89068166196075157" KeyPath="yes" Source="$(var.ProductSourcePath)\mscordaccore_$(var.FileArchitecture)_$(var.FileArchitecture)_6.0.21.52210.dll" />
</Component>
</DirectoryRef>
</Fragment>
@ -4027,7 +4124,6 @@
<ComponentRef Id="cmpC0FFB3F4FB30438082D2DC0F4E4BF12D" />
<ComponentRef Id="cmp1EBDE676D79B4B0DB859B3F601D78513" />
<ComponentRef Id="cmpB92B70CEFC2F438386F97264FB436CDD" />
<ComponentRef Id="cmp49588B1BA09F4BBCA352B162F387AAF1" />
<ComponentRef Id="cmpEE26930D65E346FDAE1B3E07F5DBEF77" />
<ComponentRef Id="cmp8635213A03B04AAE8E1BFB7EA85E0DB2" />
<ComponentRef Id="cmp834F3E0C83664E92B0D115A39A8FAACB" />
@ -4038,10 +4134,42 @@
<ComponentRef Id="cmpFAD6557C4AEC48B89DDC4E6485C020C4" />
<ComponentRef Id="cmpB5458B36303A472B80582AF1C2E7FB94" />
<ComponentRef Id="cmp0EBD333D501A45089F58504074E229E7" />
<ComponentRef Id="cmp8A922220F11C42439D6447B6654A8FC2" />
<ComponentRef Id="cmpD11E9CA5069045578BA5D89C86F7FDEF" />
<ComponentRef Id="cmp708913639F7A46E784CC0FA862A1A2CE" />
<ComponentRef Id="cmpA75DEF5617C54DA1937CB37D5824BF79" />
<ComponentRef Id="cmp957498053E01454DA1E21E6D7317DCD6" />
<ComponentRef Id="cmp408A3AF905EB47ADA35FBC5A6B1465A0" />
<ComponentRef Id="cmpA6276F9EAB41411AAAEC496E67A3DBAE" />
<ComponentRef Id="cmp91C27D1766E84B8BB0F0C70888F03C2E" />
<ComponentRef Id="cmpCC4A42AA70EE4418926986F5A4B8D3FA" />
<ComponentRef Id="cmp690BAC3241424F59B5D30DE0E846D03E" />
<ComponentRef Id="cmp3CF3F69A352F4438B8F2F73EBBD12996" />
<ComponentRef Id="cmp09155DA101E1424B98832A789E93E835" />
<ComponentRef Id="cmpC8C68DB0DEE44CF49D98532D2C26395E" />
<ComponentRef Id="cmpB43ED7BA30C844E2B5C38F7B747EEFDC" />
<ComponentRef Id="cmpF3C18F07C6A148638CBC858EB02E3A6D" />
<ComponentRef Id="cmp582595AE8291444E837793472E0A259C" />
<ComponentRef Id="cmp2B8239B905B146A69CD5D55A353AC131" />
<ComponentRef Id="cmpBD958F4B8F9146499DE2CA6321C65F96" />
<ComponentRef Id="cmp166B17F72C954B0087DF991E560B399A" />
<ComponentRef Id="cmp529A2B5343FD466884FAF627E37C648D" />
<ComponentRef Id="cmp4EE1633EE4864CE5B9015BF76BD31D14" />
<ComponentRef Id="cmpE7BE9D8F63E04798870E57BA1EABB9A5" />
<ComponentRef Id="cmp5B67AE2852E04C26970FD2016CA76E07" />
<ComponentRef Id="cmp6ADB50DF9F2D4BCA9E682AA6D1C7C03B" />
<ComponentRef Id="cmpA8A66545C44F428BB552B55EEE353BB0" />
<ComponentRef Id="cmp5492F78ACB1A4391BBED371FDFC06B9E" />
<ComponentRef Id="cmp22840874A8C84AA796496634FBEBF09C" />
<ComponentRef Id="cmp0173AE0CBFA44C269D93361F6C98F99B" />
<ComponentRef Id="cmpFB17CABA17334B2BBA1ED6CBF757B310" />
<ComponentRef Id="cmpD55F08F6CF51498E9E8551067BA57040" />
<ComponentRef Id="cmp777DF202EF2542F2ACFCCF0481E8D6EE" />
<ComponentRef Id="cmpF24D3B9F29F84B4D9C47577B7926FC2E" />
<ComponentRef Id="cmp3B07F4E4B6034F3284288C18F4638CA7" />
<ComponentRef Id="cmp9FCFAEB797D9475C873E21B4B5A89E28" />
<ComponentRef Id="cmp0C4751F9D5C14419A45F234152D21DA9" />
<ComponentRef Id="cmpF96C036EAE3B436DB096888697193FAF" />
<ComponentRef Id="cmp789F545EA2CB4AC5A2688CF730A5F6B4" />
</ComponentGroup>
</Fragment>
</Wix>

View file

@ -6,6 +6,8 @@ param(
[parameter(Mandatory = $false)][switch]$SkipLinuxDistroCheck = $false
)
. "$PSScriptRoot\tools\buildCommon\startNativeExecution.ps1"
Set-StrictMode -Version 3.0
# On Unix paths is separated by colon
@ -16,6 +18,8 @@ $script:Options = $null
$dotnetMetadata = Get-Content $PSScriptRoot/DotnetRuntimeMetadata.json | ConvertFrom-Json
$dotnetCLIChannel = $dotnetMetadata.Sdk.Channel
$dotnetCLIQuality = $dotnetMetadata.Sdk.Quality
$dotnetAzureFeed = $dotnetMetadata.Sdk.azureFeed
$dotnetSDKVersionOveride = $dotnetMetadata.Sdk.sdkImageOverride
$dotnetCLIRequiredVersion = $(Get-Content $PSScriptRoot/global.json | ConvertFrom-Json).Sdk.Version
# Track if tags have been sync'ed
@ -314,14 +318,13 @@ function Start-PSBuild {
[ValidateSet('Debug', 'Release', 'CodeCoverage', '')] # We might need "Checked" as well
[string]$Configuration,
[switch]$CrossGen,
[ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")]
[ValidateNotNullOrEmpty()]
[string]$ReleaseTag,
[switch]$Detailed,
[switch]$InteractiveAuth,
[switch]$SkipRoslynAnalyzers
[switch]$SkipRoslynAnalyzers,
[string]$PSOptionsPath
)
if ($ReleaseTag -and $ReleaseTag -notmatch "^v\d+\.\d+\.\d+(-(preview|rc)(\.\d{1,2})?)?$") {
@ -342,10 +345,6 @@ function Start-PSBuild {
}
if ($ForMinimalSize) {
if ($CrossGen) {
throw "Build for the minimal size requires the minimal disk footprint, so `CrossGen` is not allowed"
}
if ($Runtime -and "linux-x64", "win7-x64", "osx-x64" -notcontains $Runtime) {
throw "Build for the minimal size is enabled only for following runtimes: 'linux-x64', 'win7-x64', 'osx-x64'"
}
@ -391,7 +390,8 @@ function Start-PSBuild {
}
# Verify if the dotnet in-use is the required version
$dotnetCLIInstalledVersion = Start-NativeExecution -sb { dotnet --version } -IgnoreExitcode
$dotnetCLIInstalledVersion = Get-LatestInstalledSDK
If ($dotnetCLIInstalledVersion -ne $dotnetCLIRequiredVersion) {
Write-Warning @"
The currently installed .NET Command Line Tools is not the required version.
@ -413,7 +413,6 @@ Fix steps:
# set output options
$OptionsArguments = @{
CrossGen=$CrossGen
Output=$Output
Runtime=$Runtime
Configuration=$Configuration
@ -437,6 +436,18 @@ Fix steps:
$Arguments += "--output", (Split-Path $Options.Output)
}
# Add --self-contained due to "warning NETSDK1179: One of '--self-contained' or '--no-self-contained' options are required when '--runtime' is used."
if ($Options.Runtime -like 'fxdependent*') {
$Arguments += "--no-self-contained"
# The UseAppHost = false property avoids creating ".exe" for the fxdependent packages.
# The ".exe" is not a cross-platform executable, but specific to the platform that it was built on.
# We do not need to ship that.
$Arguments += "/property:UseAppHost=false"
}
else {
$Arguments += "--self-contained"
}
if ($Options.Runtime -like 'win*' -or ($Options.Runtime -like 'fxdependent*' -and $environment.IsWindows)) {
$Arguments += "/property:IsWindows=true"
}
@ -516,12 +527,6 @@ Fix steps:
Write-Log -message "Run dotnet $Arguments from $PWD"
Start-NativeExecution { dotnet $Arguments }
Write-Log -message "PowerShell output: $($Options.Output)"
if ($CrossGen) {
# fxdependent package cannot be CrossGen'ed
Start-CrossGen -PublishPath $publishPath -Runtime $script:Options.Runtime
Write-Log -message "pwsh.exe with ngen binaries is available at: $($Options.Output)"
}
} else {
$globalToolSrcFolder = Resolve-Path (Join-Path $Options.Top "../Microsoft.PowerShell.GlobalTool.Shim") | Select-Object -ExpandProperty Path
@ -660,6 +665,15 @@ Fix steps:
if ($CI) {
Restore-PSPester -Destination (Join-Path $publishPath "Modules")
}
if ($PSOptionsPath) {
$resolvedPSOptionsPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($PSOptionsPath)
$parent = Split-Path -Path $resolvedPSOptionsPath
if (!(Test-Path $parent)) {
$null = New-Item -ItemType Directory -Path $parent
}
Save-PSOptions -PSOptionsPath $PSOptionsPath -Options $Options
}
}
function Restore-PSPackage
@ -815,8 +829,6 @@ function New-PSOptions {
"win7-x86")]
[string]$Runtime,
[switch]$CrossGen,
# Accept a path to the output directory
# If not null or empty, name of the executable will be appended to
# this path, otherwise, to the default path, and then the full path
@ -857,7 +869,7 @@ function New-PSOptions {
}
}
# We plan to release packages targetting win7-x64 and win7-x86 RIDs,
# We plan to release packages targeting win7-x64 and win7-x86 RIDs,
# which supports all supported windows platforms.
# So we, will change the RID to win7-<arch>
$Runtime = $RID -replace "win\d+", "win7"
@ -922,7 +934,6 @@ function New-PSOptions {
-RootInfo ([PSCustomObject]$RootInfo) `
-Top $Top `
-Runtime $Runtime `
-Crossgen $Crossgen.IsPresent `
-Configuration $Configuration `
-PSModuleRestore $PSModuleRestore.IsPresent `
-Framework $Framework `
@ -1215,7 +1226,13 @@ function Start-PSPester {
if ($Unelevate)
{
$outputBufferFilePath = [System.IO.Path]::GetTempFileName()
if ($environment.IsWindows) {
$outputBufferFilePath = [System.IO.Path]::GetTempFileName()
}
else {
# Azure DevOps agents do not have Temp folder setup on Ubuntu 20.04, hence using HOME directory
$outputBufferFilePath = (Join-Path $env:HOME $([System.IO.Path]::GetRandomFileName()))
}
}
$command += "Invoke-Pester "
@ -1297,7 +1314,14 @@ function Start-PSPester {
$PSFlags = @("-noprofile")
if (-not [string]::IsNullOrEmpty($ExperimentalFeatureName)) {
$configFile = [System.IO.Path]::GetTempFileName()
if ($environment.IsWindows) {
$configFile = [System.IO.Path]::GetTempFileName()
}
else {
$configFile = (Join-Path $env:HOME $([System.IO.Path]::GetRandomFileName()))
}
$configFile = [System.IO.Path]::ChangeExtension($configFile, ".json")
## Create the config.json file to enable the given experimental feature.
@ -1376,7 +1400,13 @@ function Start-PSPester {
{
if ($PassThru.IsPresent)
{
$passThruFile = [System.IO.Path]::GetTempFileName()
if ($environment.IsWindows) {
$passThruFile = [System.IO.Path]::GetTempFileName()
}
else {
$passThruFile = Join-Path $env:HOME $([System.IO.Path]::GetRandomFileName())
}
try
{
$command += "| Export-Clixml -Path '$passThruFile' -Force"
@ -1721,6 +1751,13 @@ function Install-Dotnet {
[string]$FeedCredential
)
Write-Verbose -Verbose "In install-dotnet"
# This is needed workaround for RTM pre-release build as the SDK version is always 6.0.100 after installation for every pre-release
if ($dotnetCLIRequiredVersion -like '6.0.100-rtm.*') {
$dotnetCLIRequiredVersion = '6.0.100'
}
# This allows sudo install to be optional; needed when running in containers / as root
# Note that when it is null, Invoke-Expression (but not &) must be used to interpolate properly
$sudo = if (!$NoSudo) { "sudo" }
@ -1748,10 +1785,12 @@ function Install-Dotnet {
Write-Warning "This script only removes prior versions of dotnet for Ubuntu and OS X"
}
Write-Verbose -Verbose "Invoking install script"
# Install new dotnet 1.1.0 preview packages
$installScript = "dotnet-install.sh"
Start-NativeExecution {
Write-Verbose -Message "downloading install script from $installObtainUrl/$installScript ..." -Verbose
Write-Verbose -Message "downloading install script from $installObtainUrl/$installScript ..." -Verbose
& $wget $installObtainUrl/$installScript
if ((Get-ChildItem "./$installScript").Length -eq 0) {
@ -1770,9 +1809,16 @@ function Install-Dotnet {
}
if ($AzureFeed) {
$bashArgs += @('-AzureFeed', $AzureFeed, '-FeedCredential', $FeedCredential)
$bashArgs += @('-AzureFeed', $AzureFeed)
}
if ($FeedCredential) {
$bashArgs += @('-FeedCredential', $FeedCredential)
}
$bashArgs | Out-String | Write-Verbose -Verbose
Start-NativeExecution {
bash @bashArgs
}
} elseif ($environment.IsWindows) {
@ -1795,35 +1841,44 @@ function Install-Dotnet {
}
if ($AzureFeed) {
$installArgs += @{
AzureFeed = $AzureFeed
$FeedCredential = $FeedCredential
}
$installArgs += @{AzureFeed = $AzureFeed}
}
if ($FeedCredential) {
$installArgs += @{FeedCredential = $FeedCredential}
}
$installArgs | Out-String | Write-Verbose -Verbose
& ./$installScript @installArgs
}
else {
# dotnet-install.ps1 uses APIs that are not supported in .NET Core, so we run it with Windows PowerShell
$fullPSPath = Join-Path -Path $env:windir -ChildPath "System32\WindowsPowerShell\v1.0\powershell.exe"
$fullDotnetInstallPath = Join-Path -Path $PWD.Path -ChildPath $installScript
if ($Version) {
$psArgs = @('-NoLogo', '-NoProfile', '-File', $fullDotnetInstallPath, '-Version', $Version, '-Quality', $Quality)
}
elseif ($Channel) {
$psArgs = @('-NoLogo', '-NoProfile', '-File', $fullDotnetInstallPath, '-Channel', $Channel, '-Quality', $Quality)
}
if ($InstallDir) {
$psArgs += @('-InstallDir', $InstallDir)
}
if ($AzureFeed) {
$psArgs += @('-AzureFeed', $AzureFeed)
}
if ($FeedCredential) {
$psArgs += @('-FeedCredential', $FeedCredential)
}
$psArgs | Out-String | Write-Verbose -Verbose
Start-NativeExecution {
if ($Version) {
$psArgs = @('-NoLogo', '-NoProfile', '-File', $fullDotnetInstallPath, '-Version', $Version, '-Quality', $Quality)
}
elseif ($Channel) {
$psArgs = @('-NoLogo', '-NoProfile', '-File', $fullDotnetInstallPath, '-Channel', $Channel, '-Quality', $Quality)
}
if ($InstallDir) {
$psArgs += @('-InstallDir', $InstallDir)
}
if ($AzureFeed) {
$psArgs += @('-AzureFeed', $AzureFeed, '-FeedCredential', $FeedCredential)
}
& $fullPSPath @psArgs
}
}
@ -1857,6 +1912,10 @@ function Start-PSBootstrap {
Push-Location $PSScriptRoot/tools
if ($dotnetSDKVersionOveride) {
$Version = $dotnetSDKVersionOveride
}
try {
if ($environment.IsLinux -or $environment.IsMacOS) {
# This allows sudo install to be optional; needed when running in containers / as root
@ -1954,6 +2013,9 @@ function Start-PSBootstrap {
# Build tools
$Deps += "cmake"
# wget for downloading dotnet
$Deps += "wget"
# .NET Core required runtime libraries
$Deps += "openssl"
@ -1961,7 +2023,7 @@ function Start-PSBootstrap {
# ignore exitcode, because they may be already installed
Start-NativeExecution ([ScriptBlock]::Create("$PackageManager install $Deps")) -IgnoreExitcode
} elseif ($environment.IsLinux -and $environment.IsAlpine) {
$Deps += 'libunwind', 'libcurl', 'bash', 'cmake', 'clang', 'build-base', 'git', 'curl'
$Deps += 'libunwind', 'libcurl', 'bash', 'cmake', 'clang', 'build-base', 'git', 'curl', 'wget'
Start-NativeExecution {
Invoke-Expression "apk add $Deps"
@ -1986,14 +2048,18 @@ function Start-PSBootstrap {
}
}
Write-Verbose -Verbose "Calling Find-Dotnet from Start-PSBootstrap"
# Try to locate dotnet-SDK before installing it
Find-Dotnet
Write-Verbose -Verbose "Back from calling Find-Dotnet from Start-PSBootstrap"
# Install dotnet-SDK
$dotNetExists = precheck 'dotnet' $null
$dotNetVersion = [string]::Empty
if($dotNetExists) {
$dotNetVersion = Start-NativeExecution -sb { dotnet --version } -IgnoreExitcode
$dotNetVersion = Get-LatestInstalledSDK
}
if(!$dotNetExists -or $dotNetVersion -ne $dotnetCLIRequiredVersion -or $Force.IsPresent) {
@ -2008,6 +2074,12 @@ function Start-PSBootstrap {
}
$DotnetArguments = @{ Channel=$Channel; Version=$Version; NoSudo=$NoSudo }
if ($dotnetAzureFeed) {
$null = $DotnetArguments.Add("AzureFeed", $dotnetAzureFeed)
$null = $DotnetArguments.Add("FeedCredential", $null)
}
Install-Dotnet @DotnetArguments
}
else {
@ -2029,6 +2101,12 @@ function Start-PSBootstrap {
}
}
function Get-LatestInstalledSDK {
Start-NativeExecution -sb {
dotnet --list-sdks | Select-String -Pattern '\d*.\d*.\d*(-\w*\.\d*)?' | ForEach-Object { [System.Management.Automation.SemanticVersion]::new($_.matches.value) } | Sort-Object -Descending | Select-Object -First 1
} -IgnoreExitcode 2> $null
}
function Start-DevPowerShell {
[CmdletBinding(DefaultParameterSetName='ConfigurationParamSet')]
param(
@ -2161,17 +2239,29 @@ function Start-ResGen
}
function Find-Dotnet() {
Write-Verbose -Verbose "In Find-DotNet"
$originalPath = $env:PATH
$dotnetPath = if ($environment.IsWindows) { "$env:LocalAppData\Microsoft\dotnet" } else { "$env:HOME/.dotnet" }
$chosenDotNetVersion = if($dotnetSDKVersionOveride) {
$dotnetSDKVersionOveride
}
else {
$dotnetCLIRequiredVersion
}
# If there dotnet is already in the PATH, check to see if that version of dotnet can find the required SDK
# This is "typically" the globally installed dotnet
if (precheck dotnet) {
# Must run from within repo to ensure global.json can specify the required SDK version
Push-Location $PSScriptRoot
$dotnetCLIInstalledVersion = Start-NativeExecution -sb { dotnet --version } -IgnoreExitcode 2> $null
$dotnetCLIInstalledVersion = Get-LatestInstalledSDK
Pop-Location
if ($dotnetCLIInstalledVersion -ne $dotnetCLIRequiredVersion) {
Write-Verbose -Verbose "dotnetCLIInstalledVersion = $dotnetCLIInstalledVersion`nchosenDotNetVersion = $chosenDotNetVersion"
if ($dotnetCLIInstalledVersion -ne $chosenDotNetVersion) {
Write-Warning "The 'dotnet' in the current path can't find SDK version ${dotnetCLIRequiredVersion}, prepending $dotnetPath to PATH."
# Globally installed dotnet doesn't have the required SDK version, prepend the user local dotnet location
$env:PATH = $dotnetPath + [IO.Path]::PathSeparator + $env:PATH
@ -2269,258 +2359,6 @@ function script:precheck([string]$command, [string]$missedMessage) {
}
}
# this function wraps native command Execution
# for more information, read https://mnaoumov.wordpress.com/2015/01/11/execution-of-external-commands-in-powershell-done-right/
function script:Start-NativeExecution
{
param(
[scriptblock]$sb,
[switch]$IgnoreExitcode,
[switch]$VerboseOutputOnError
)
$backupEAP = $ErrorActionPreference
$ErrorActionPreference = "Continue"
try {
if($VerboseOutputOnError.IsPresent)
{
$output = & $sb 2>&1
}
else
{
& $sb
}
# note, if $sb doesn't have a native invocation, $LASTEXITCODE will
# point to the obsolete value
if ($LASTEXITCODE -ne 0 -and -not $IgnoreExitcode) {
if($VerboseOutputOnError.IsPresent -and $output)
{
$output | Out-String | Write-Verbose -Verbose
}
# Get caller location for easier debugging
$caller = Get-PSCallStack -ErrorAction SilentlyContinue
if($caller)
{
$callerLocationParts = $caller[1].Location -split ":\s*line\s*"
$callerFile = $callerLocationParts[0]
$callerLine = $callerLocationParts[1]
$errorMessage = "Execution of {$sb} by ${callerFile}: line $callerLine failed with exit code $LASTEXITCODE"
throw $errorMessage
}
throw "Execution of {$sb} failed with exit code $LASTEXITCODE"
}
} finally {
$ErrorActionPreference = $backupEAP
}
}
function Start-CrossGen {
[CmdletBinding()]
param(
[Parameter(Mandatory= $true)]
[ValidateNotNullOrEmpty()]
[String]
$PublishPath,
[Parameter(Mandatory=$true)]
[ValidateSet("alpine-x64",
"linux-arm",
"linux-arm64",
"linux-x64",
"osx-arm64",
"osx-x64",
"win-arm",
"win-arm64",
"win7-x64",
"win7-x86")]
[string]
$Runtime
)
function New-CrossGenAssembly {
param (
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[String[]]
$AssemblyPath,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[String]
$CrossgenPath,
[Parameter(Mandatory = $true)]
[ValidateSet("alpine-x64",
"linux-arm",
"linux-arm64",
"linux-x64",
"osx-arm64",
"osx-x64",
"win-arm",
"win-arm64",
"win7-x64",
"win7-x86")]
[string]
$Runtime
)
$platformAssembliesPath = Split-Path $AssemblyPath[0] -Parent
$targetOS, $targetArch = $Runtime -split '-'
# Special cases where OS / Arch does not conform with runtime names
switch ($Runtime) {
'alpine-x64' {
$targetOS = 'linux'
$targetArch = 'x64'
}
'win-arm' {
$targetOS = 'windows'
$targetArch = 'arm'
}
'win-arm64' {
$targetOS = 'windows'
$targetArch = 'arm64'
}
'win7-x64' {
$targetOS = 'windows'
$targetArch = 'x64'
}
'win7-x86' {
$targetOS = 'windows'
$targetArch = 'x86'
}
}
$generatePdb = $targetos -eq 'windows'
# The path to folder must end with directory separator
$dirSep = [System.IO.Path]::DirectorySeparatorChar
$platformAssembliesPath = if (-not $platformAssembliesPath.EndsWith($dirSep)) { $platformAssembliesPath + $dirSep }
Start-NativeExecution {
$crossgen2Params = @(
"-r"
$platformAssembliesPath
"--out-near-input"
"--single-file-compilation"
"-O"
"--targetos"
$targetOS
"--targetarch"
$targetArch
)
if ($generatePdb) {
$crossgen2Params += "--pdb"
}
$crossgen2Params += $AssemblyPath
& $CrossgenPath $crossgen2Params
}
}
if (-not (Test-Path $PublishPath)) {
throw "Path '$PublishPath' does not exist."
}
# Get the path to crossgen
$crossGenExe = if ($environment.IsWindows) { "crossgen2.exe" } else { "crossgen2" }
# The crossgen tool is only published for these particular runtimes
$crossGenRuntime = if ($environment.IsWindows) {
# for windows the tool architecture is the host machine architecture, so it is always x64.
# we can cross compile for x86, arm and arm64
"win-x64"
} else {
$Runtime
}
if (-not $crossGenRuntime) {
throw "crossgen is not available for this platform"
}
$dotnetRuntimeVersion = $script:Options.Framework -replace 'net'
# Get the CrossGen.exe for the correct runtime with the latest version
$crossGenPath = Get-ChildItem $script:Environment.nugetPackagesRoot $crossGenExe -Recurse | `
Where-Object { $_.FullName -match $crossGenRuntime } | `
Where-Object { $_.FullName -match $dotnetRuntimeVersion } | `
Where-Object { (Split-Path $_.FullName -Parent).EndsWith('tools') } | `
Sort-Object -Property FullName -Descending | `
Select-Object -First 1 | `
ForEach-Object { $_.FullName }
if (-not $crossGenPath) {
throw "Unable to find latest version of crossgen2.exe. 'Please run Start-PSBuild -Clean' first, and then try again."
}
Write-Verbose "Matched CrossGen2.exe: $crossGenPath" -Verbose
# Common assemblies used by Add-Type or assemblies with high JIT and no pdbs to crossgen
$commonAssembliesForAddType = @(
"Microsoft.CodeAnalysis.CSharp.dll"
"Microsoft.CodeAnalysis.dll"
"System.Linq.Expressions.dll"
"Microsoft.CSharp.dll"
"System.Runtime.Extensions.dll"
"System.Linq.dll"
"System.Collections.Concurrent.dll"
"System.Collections.dll"
"Newtonsoft.Json.dll"
"System.IO.FileSystem.dll"
"System.Diagnostics.Process.dll"
"System.Threading.Tasks.Parallel.dll"
"System.Security.AccessControl.dll"
"System.Text.Encoding.CodePages.dll"
"System.Private.Uri.dll"
"System.Threading.dll"
"System.Security.Principal.Windows.dll"
"System.Console.dll"
"Microsoft.Win32.Registry.dll"
"System.IO.Pipes.dll"
"System.Diagnostics.FileVersionInfo.dll"
"System.Collections.Specialized.dll"
"Microsoft.ApplicationInsights.dll"
)
$fullAssemblyList = $commonAssembliesForAddType
$assemblyFullPaths = @()
$assemblyFullPaths += foreach ($assemblyName in $fullAssemblyList) {
Join-Path $PublishPath $assemblyName
}
New-CrossGenAssembly -CrossgenPath $crossGenPath -AssemblyPath $assemblyFullPaths -Runtime $Runtime
#
# With the latest dotnet.exe, the default load context is only able to load TPAs, and TPA
# only contains IL assembly names. In order to make the default load context able to load
# the NI PS assemblies, we need to replace the IL PS assemblies with the corresponding NI
# PS assemblies, but with the same IL assembly names.
#
Write-Verbose "PowerShell Ngen assemblies have been generated. Deploying ..." -Verbose
foreach ($assemblyName in $fullAssemblyList) {
# Remove the IL assembly and its symbols.
$assemblyPath = Join-Path $PublishPath $assemblyName
$symbolsPath = [System.IO.Path]::ChangeExtension($assemblyPath, ".pdb")
Remove-Item $assemblyPath -Force -ErrorAction Stop
# Rename the corresponding ni.dll assembly to be the same as the IL assembly
$niAssemblyPath = [System.IO.Path]::ChangeExtension($assemblyPath, "ni.dll")
Rename-Item $niAssemblyPath $assemblyPath -Force -ErrorAction Stop
# No symbols are available for Microsoft.CodeAnalysis.CSharp.dll, Microsoft.CodeAnalysis.dll,
# Microsoft.CodeAnalysis.VisualBasic.dll, and Microsoft.CSharp.dll.
if ($commonAssembliesForAddType -notcontains $assemblyName) {
Remove-Item $symbolsPath -Force -ErrorAction Stop
}
}
}
# Cleans the PowerShell repo - everything but the root folder
function Clear-PSRepo
{
@ -3043,7 +2881,6 @@ function Restore-PSOptions {
-RootInfo $options.RootInfo `
-Top $options.Top `
-Runtime $options.Runtime `
-Crossgen $options.Crossgen `
-Configuration $options.Configuration `
-PSModuleRestore $options.PSModuleRestore `
-Framework $options.Framework `
@ -3067,10 +2904,6 @@ function New-PSOptionsObject
[String]
$Runtime,
[Parameter(Mandatory)]
[Bool]
$CrossGen,
[Parameter(Mandatory)]
[String]
$Configuration,
@ -3099,7 +2932,6 @@ function New-PSOptionsObject
Framework = $Framework
Runtime = $Runtime
Output = $Output
CrossGen = $CrossGen
PSModuleRestore = $PSModuleRestore
ForMinimalSize = $ForMinimalSize
}
@ -3359,3 +3191,23 @@ function New-NugetConfigFile
Set-Content -Path (Join-Path $Destination 'nuget.config') -Value $content -Force
}
function Set-CorrectLocale
{
if (-not $IsLinux)
{
return
}
$environment = Get-EnvironmentInformation
if ($environment.IsUbuntu -and $environment.IsUbuntu20)
{
$env:LC_ALL = 'en_US.UTF-8'
$env:LANG = 'en_US.UTF-8'
sudo locale-gen $env:LANG
sudo update-locale
}
# Output the locale to log it
locale
}

1424
cgmanifest.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,25 +0,0 @@
# Docker tests
## Windows and Linux containers
The tests must be run separately on the Windows and Linux docker daemons. You can use the Linux docker daemon on Windows, but that will only test Linux containers not Windows Containers.
## To building and basic behavior of the containers
```PowerShell
Invoke-Pester
```
Note: be sure to do this using both the Windows and Linux docker daemon.
## To test the productions containers
```PowerShell
Invoke-Pester -Tag Behavior
```
## To test only building the containers
```PowerShell
Invoke-Pester -Tag Build
```

View file

@ -1,23 +0,0 @@
FROM centos:7
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN yum install -y \
curl \
glibc-locale-source \
git
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME \
&& yum install -y $PACKAGENAME
RUN $TESTDOWNLOADCOMMAND
RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,29 +0,0 @@
FROM debian:stretch
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
curl \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME
RUN dpkg -i $PACKAGENAME || :
RUN apt-get install -y -f --no-install-recommends
RUN $TESTDOWNLOADCOMMAND
RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,26 +0,0 @@
FROM fedora:28
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN dnf install -y \
curl \
glibc-locale-source \
git \
compat-openssl10 \
&& dnf upgrade-minimal -y --security \
&& dnf clean all
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME
RUN dnf install -y $PACKAGENAME
RUN $TESTDOWNLOADCOMMAND
RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,31 +0,0 @@
FROM centos:7
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN yum install -y \
glibc-locale-source \
git
# Install dotnet-runtime
RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
RUN yum install -y \
dotnet-runtime-2.1
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,31 +0,0 @@
FROM microsoft/dotnet:2.1.7-runtime-stretch-slim
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,31 +0,0 @@
FROM microsoft/dotnet:3.0.100-preview-sdk
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell \
&& tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,38 +0,0 @@
FROM fedora:28
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN dnf install -y \
glibc-locale-source \
git \
compat-openssl10 \
&& dnf upgrade-minimal -y --security \
&& dnf clean all
# Install dotnet-runtime
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
ADD https://packages.microsoft.com/config/fedora/27/prod.repo .
RUN mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
RUN dnf install -y \
dotnet-runtime-2.1 \
&& dnf upgrade-minimal -y --security \
&& dnf clean all
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell \
&& tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,41 +0,0 @@
FROM opensuse:42.3
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN zypper --non-interactive update --skip-interactive \
&& zypper --non-interactive install \
glibc-locale \
glibc-i18ndata \
tar \
libunwind \
libicu \
openssl \
git
# Install dotnet-runtime
ADD https://packages.microsoft.com/keys/microsoft.asc .
RUN rpmkeys --import microsoft.asc
ADD https://packages.microsoft.com/config/opensuse/42.2/prod.repo .
RUN mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
RUN zypper --non-interactive update --skip-interactive \
&& zypper --non-interactive install \
dotnet-runtime-2.1
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,39 +0,0 @@
FROM ubuntu:xenial
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
apt-transport-https \
locales \
git \
&& apt-get clean
# Install dotnet-runtime
ADD https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb .
RUN dpkg -i packages-microsoft-prod.deb
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
dotnet-runtime-2.1 \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell \
&& tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,31 +0,0 @@
FROM microsoft/dotnet:2.1.7-runtime-bionic
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
# Install PowerShell package
ADD $PACKAGELOCATION/$PACKAGENAME .
RUN mkdir -p /opt/microsoft/powershell \
&& tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Download and run tests
RUN $TESTDOWNLOADCOMMAND
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,39 +0,0 @@
FROM opensuse:42.3
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
ARG POWERSHELL_LINKFILE=/usr/bin/pwsh
# Install dependencies
RUN zypper --non-interactive update --skip-interactive \
&& zypper --non-interactive install \
glibc-locale \
glibc-i18ndata \
tar \
curl \
libunwind \
libicu \
openssl \
git
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME
# Create the target folder where powershell will be placed
RUN mkdir -p /opt/microsoft/powershell
# Expand powershell to the target folder
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
# Create the symbolic link that points to powershell
RUN ln -s /opt/microsoft/powershell/pwsh $POWERSHELL_LINKFILE
RUN $TESTDOWNLOADCOMMAND
RUN pwsh -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,29 +0,0 @@
FROM ubuntu:xenial
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
curl \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME
RUN dpkg -i $PACKAGENAME || :
RUN apt-get install -y -f --no-install-recommends
RUN $TESTDOWNLOADCOMMAND
RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,29 +0,0 @@
FROM ubuntu:bionic
ARG PACKAGENAME
ARG PACKAGELOCATION
ARG PREVIEWSUFFIX=
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
# Install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
ca-certificates \
curl \
apt-transport-https \
locales \
git \
&& apt-get clean
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN locale-gen $LANG && update-locale
RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME
RUN dpkg -i $PACKAGENAME || :
RUN apt-get install -y -f --no-install-recommends
RUN $TESTDOWNLOADCOMMAND
RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

View file

@ -1,370 +0,0 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
$script:forcePull = $true
# Get docker Engine OS
function Get-DockerEngineOs
{
docker info --format '{{ .OperatingSystem }}'
}
# Call Docker with appropriate result checksfunction Invoke-Docker
function Invoke-Docker
{
param(
[Parameter(Mandatory=$true)]
[string[]]
$Command,
[ValidateSet("error","warning",'ignore')]
$FailureAction = 'error',
[Parameter(Mandatory=$true)]
[string[]]
$Params,
[switch]
$PassThru,
[switch]
$SuppressHostOutput
)
$ErrorActionPreference = 'Continue'
# Log how we are running docker for troubleshooting issues
Write-Verbose "Running docker $command $params" -Verbose
if($SuppressHostOutput.IsPresent)
{
$result = docker $command $params 2>&1
}
else
{
&'docker' $command $params 2>&1 | Tee-Object -Variable result -ErrorAction SilentlyContinue | Out-String -Stream -ErrorAction SilentlyContinue | Write-Host -ErrorAction SilentlyContinue
}
$dockerExitCode = $LASTEXITCODE
if($PassThru.IsPresent)
{
Write-Verbose "passing through docker result$($result.length)..." -Verbose
return $result
}
elseif($dockerExitCode -ne 0 -and $FailureAction -eq 'error')
{
Write-Error "docker $command failed with: $result" -ErrorAction Stop
return $false
}
elseif($dockerExitCode -ne 0 -and $FailureAction -eq 'warning')
{
Write-Warning "docker $command failed with: $result"
return $false
}
elseif($dockerExitCode -ne 0)
{
return $false
}
return $true
}
# Return a list of Linux Container Test Cases
function Get-LinuxContainer
{
foreach($os in 'centos7','ubuntu16.04')
{
Write-Output @{
Name = $os
Path = "$PSScriptRoot/../release/$os"
}
}
}
# Return a list of Windows Container Test Cases
function Get-WindowsContainer
{
foreach($os in 'windowsservercore','nanoserver')
{
Write-Output @{
Name = $os
Path = "$PSScriptRoot/../release/$os"
}
}
}
$script:repoName = 'microsoft/powershell'
function Get-RepoName
{
return $script:repoName
}
function Set-RepoName
{
param([string]$RepoName)
$script:repoName = $RepoName
$script:forcePull = $false
}
function Test-SkipWindows
{
[bool] $canRunWindows = (Get-DockerEngineOs) -like 'Windows*'
return ($IsLinux -or $IsMacOS -or !$canRunWindows)
}
function Test-SkipLinux
{
$os = Get-DockerEngineOs
switch -wildcard ($os)
{
'*Linux*' {
return $false
}
'*Mac' {
return $false
}
# Docker for Windows means we are running the linux kernel
'Docker for Windows' {
return $false
}
'Windows*' {
return $true
}
default {
throw "Unknown docker os '$os'"
}
}
}
function Get-TestContext
{
param(
[ValidateSet('Linux','Windows','macOS')]
[string]$Type
)
$resultFileName = 'results.xml'
$logFileName = 'results.log'
$containerTestDrive = '/test'
# Return a windows context if the Context in Windows *AND*
# the current system is windows, otherwise Join-path will fail.
if($Type -eq 'Windows' -and $IsWindows)
{
$ContainerTestDrive = 'C:\test'
}
$resolvedTestDrive = (Resolve-Path "Testdrive:\").providerPath
return @{
ResolvedTestDrive = $resolvedTestDrive
ResolvedXmlPath = Join-Path $resolvedTestDrive -ChildPath $resultFileName
ResolvedLogPath = Join-Path $resolvedTestDrive -ChildPath $logFileName
ContainerTestDrive = $ContainerTestDrive
ContainerXmlPath = Join-Path $containerTestDrive -ChildPath $resultFileName
ContainerLogPath = Join-Path $containerTestDrive -ChildPath $logFileName
Type = $Type
ForcePull = $script:forcePull
}
}
function Get-ContainerPowerShellVersion
{
param(
[HashTable] $TestContext,
[string] $RepoName,
[string] $Name
)
$imageTag = "${script:repoName}:${Name}"
if($TestContext.ForcePull)
{
$null=Invoke-Docker -Command 'image', 'pull' -Params $imageTag -SuppressHostOutput
}
$runParams = @()
$localVolumeName = $testContext.resolvedTestDrive
$runParams += '--rm'
if($TestContext.Type -ne 'Windows' -and $IsWindows)
{
# use a container volume on windows because host volumes are not automatic
$volumeName = "test-volume-" + (Get-Random -Minimum 100 -Maximum 999)
# using alpine because it's tiny
$null=Invoke-Docker -Command create -Params '-v', '/test', '--name', $volumeName, 'alpine' -SuppressHostOutput
$runParams += '--volumes-from'
$runParams += $volumeName
}
else {
$runParams += '-v'
$runParams += "${localVolumeName}:$($testContext.containerTestDrive)"
}
$runParams += $imageTag
$runParams += 'pwsh'
$runParams += '-c'
$runParams += ('$PSVersionTable.PSVersion.ToString() | out-string | out-file -encoding ascii -FilePath '+$testContext.containerLogPath)
$null = Invoke-Docker -Command run -Params $runParams -SuppressHostOutput
if($TestContext.Type -ne 'Windows' -and $IsWindows)
{
$null = Invoke-Docker -Command cp -Params "${volumeName}:$($testContext.containerLogPath)", $TestContext.ResolvedLogPath
$null = Invoke-Docker -Command container, rm -Params $volumeName, '--force' -SuppressHostOutput
}
return (Get-Content -Encoding Ascii $testContext.resolvedLogPath)[0]
}
# Function defines a config mapping for testing Preview packages.
# The list of supported OS for each release can be found here:
# https://github.com/PowerShell/PowerShell-Docs/blob/staging/reference/docs-conceptual/PowerShell-Core-Support.md#supported-platforms
function Get-DefaultPreviewConfigForPackageValidation
{
# format: <DockerfileFolderName>=<PartOfPackageFilename>
@{ 'centos7'='rhel.7';
'debian.9'='debian.9';
'fedora28'='rhel.7';
'opensuse42.3'='linux-x64.tar.gz';
'ubuntu16.04'='ubuntu.16.04';
'ubuntu18.04'='ubuntu.18.04';
'fxdependent-centos7'='linux-x64-fxdependent.tar.gz';
'fxdependent-debian.9'='linux-x64-fxdependent.tar.gz';
'fxdependent-fedora28'='linux-x64-fxdependent.tar.gz';
'fxdependent-opensuse42.3'='linux-x64-fxdependent.tar.gz';
'fxdependent-ubuntu16.04'='linux-x64-fxdependent.tar.gz';
'fxdependent-ubuntu18.04'='linux-x64-fxdependent.tar.gz';
'fxdependent-dotnetsdk-latest'='linux-x64-fxd-dotnetsdk.tar.gz'
}
}
# Function defines a config mapping for testing Stable packages.
# The list of supported OS for each release can be found here:
# https://github.com/PowerShell/PowerShell-Docs/blob/staging/reference/docs-conceptual/PowerShell-Core-Support.md#supported-platforms
function Get-DefaultStableConfigForPackageValidation
{
# format: <DockerfileFolderName>=<PartOfPackageFilename>
@{ 'centos7'='rhel.7';
'debian.9'='debian.9';
'opensuse42.3'='linux-x64.tar.gz';
'ubuntu16.04'='ubuntu.16.04';
'fxdependent-centos7'='linux-x64-fxdependent.tar.gz';
'fxdependent-debian.9'='linux-x64-fxdependent.tar.gz';
'fxdependent-opensuse42.3'='linux-x64-fxdependent.tar.gz';
'fxdependent-ubuntu16.04'='linux-x64-fxdependent.tar.gz'
}
}
# Returns a list of files in a specified Azure container.
function Get-PackageNamesOnAzureBlob
{
param(
[string]
$ContainerUrl,
# $SAS (shared access signature) param should include beginning '?' and trailing '&'
[string]
$SAS
)
$response = Invoke-RestMethod -Method Get -Uri $($ContainerUrl + $SAS + 'restype=container&comp=list')
$xmlResponce = [xml]$response.Substring($response.IndexOf('<EnumerationResults')) # remove some bad chars in the beginning that break XML parsing
($xmlResponce.EnumerationResults.Blobs.Blob).Name
}
# This function is used for basic validation of PS packages during a release;
# During the process Docker files are filled out and executed with Docker build;
# During the build PS packages are downloaded onto Docker containers, installed and selected Pester tests from PowerShell Github repo are executed.
# This function must be run on a Docker host machine in 'Linux containers' mode, such as Windows 10 server with Hyper-V role installed.
function Test-PSPackage
{
param(
[string]
[Parameter(Mandatory=$true)]
$PSPackageLocation, # e.g. Azure container storage url
[string]
$SAS,# $SAS (shared access signature) param should include beginning '?' and trailing '&'
[Hashtable]
$Config, # hashtable that maps packages to dockerfiles; for example see Get-DefaultConfigForPackageValidation
[string]
$TestList = "/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module",
[string]
$TestDownloadCommand = "git clone --recursive https://github.com/PowerShell/PowerShell.git",
[switch]
$Preview = $false
)
$PSPackageLocation = $PSPackageLocation.TrimEnd('/','\') # code below assumes there is no trailing separator in PSPackageLocation url
$RootFolder = Join-Path $PSScriptRoot 'Templates'
$packageList = Get-PackageNamesOnAzureBlob -ContainerUrl $PSPackageLocation -SAS $SAS
if (!$Config)
{
if ($Preview)
{
$Config = Get-DefaultPreviewConfigForPackageValidation
}
else
{
$Config = Get-DefaultStableConfigForPackageValidation
}
}
# pre-process $Config: verify build directories and packages exist
$map = @{}
foreach($kp in $Config.GetEnumerator())
{
$buildDir = Join-Path $RootFolder $kp.Key
$packageName = $packageList | Where-Object {$_ -like $('*'+$kp.Value+'*')}
if (-not (Test-Path $buildDir))
{
Write-Error "Directory does Not exist - $buildDir; Check `$Config parameter and '$RootFolder' folder"
}
elseif (-not ($packageName))
{
Write-Error "Can not find package that matches filter *$($kp.Value)*; Check `$Config parameter and '$PSPackageLocation'"
}
else
{
$map.Add($buildDir, $packageName)
}
}
Write-Verbose "Using configuration:" -Verbose
Write-Verbose ($map | Format-List | Out-String) -Verbose
$results = @{}
$returnValue = $true
# run builds sequentially, but don't block for errors so that configs after failed one can run
foreach($kp in $map.GetEnumerator())
{
$dockerDirPath = $kp.Key
$packageFileName = $kp.Value
$buildArgs = @()
$buildArgs += "--build-arg","PACKAGENAME=$packageFileName"
$buildArgs += "--build-arg","PACKAGELOCATION=$PSPackageLocation"
if ($Preview)
{
$buildArgs += "--build-arg","PREVIEWSUFFIX=-preview"
}
$buildArgs += "--build-arg","TESTLIST=$TestList"
$buildArgs += "--build-arg","TESTDOWNLOADCOMMAND=$TestDownloadCommand"
$buildArgs += "--no-cache"
$buildArgs += $dockerDirPath
$dockerResult = Invoke-Docker -Command 'build' -Params $buildArgs -FailureAction warning
$confName = Split-Path -Leaf $dockerDirPath
$results.Add($confName, $dockerResult)
if (-not $dockerResult) {$returnValue = $false}
}
# in the end print results for all configurations
Write-Verbose "Package validation results:" -Verbose
$results
return $returnValue
}

View file

@ -71,7 +71,7 @@ Start-PSBuild
Congratulations! If everything went right, PowerShell is now built.
The `Start-PSBuild` script will output the location of the executable:
`./src/powershell-unix/bin/Debug/net5.0/linux-x64/publish/pwsh`.
`./src/powershell-unix/bin/Debug/net6.0/linux-x64/publish/pwsh`.
You should now be running the PowerShell Core that you just built, if you run the above executable.
You can run our cross-platform Pester tests with `Start-PSPester`, and our xUnit tests with `Start-PSxUnit`.

View file

@ -36,4 +36,4 @@ We cannot do this for you in the build module due to #[847][].
Start a PowerShell session by running `pwsh`, and then use `Start-PSBuild` from the module.
After building, PowerShell will be at `./src/powershell-unix/bin/Debug/net5.0/osx-x64/publish/pwsh`.
After building, PowerShell will be at `./src/powershell-unix/bin/Debug/net6.0/osx-x64/publish/pwsh`.

View file

@ -59,11 +59,11 @@ Import-Module ./build.psm1
Start-PSBuild
```
Congratulations! If everything went right, PowerShell is now built and executable as `./src/powershell-win-core/bin/Debug/net5.0/win7-x64/publish/pwsh.exe`.
Congratulations! If everything went right, PowerShell is now built and executable as `./src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe`.
This location is of the form `./[project]/bin/[configuration]/[framework]/[rid]/publish/[binary name]`,
and our project is `powershell`, configuration is `Debug` by default,
framework is `net5.0`, runtime identifier is `win7-x64` by default,
framework is `net6.0`, runtime identifier is `win7-x64` by default,
and binary name is `pwsh`.
The function `Get-PSOutput` will return the path to the executable;
thus you can execute the development copy via `& (Get-PSOutput)`.

View file

@ -26,10 +26,9 @@ The PowerShell Committee and its members (aka Committee Members) are the primary
### Current Committee Members
* Bruce Payette ([BrucePay](https://github.com/BrucePay))
* Dongbo Wang ([daxian-dbw](https://github.com/daxian-dbw))
* Jim Truher ([JamesWTruher](https://github.com/JamesWTruher))
* Joey Aiello ([joeyaiello](https://github.com/joeyaiello))
* Kenneth Hansen ([khansen00](https://github.com/khansen00))
* Paul Higinbotham ([paulhigin](https://github.com/paulhigin))
* Rob Holt ([rjmholt](https://github.com/rjmholt))
* Steve Lee ([SteveL-MSFT](https://github.com/SteveL-MSFT))
### Committee Member Responsibilities

View file

@ -19,7 +19,6 @@ Today, DSC is integrated into the PowerShell language, and we need to manage it
* @TravisEz13
* @theJasonHelmick
* @joeyaiello
* @anmenaga
## Developer Experience

View file

@ -1,5 +1,5 @@
{
"sdk": {
"version": "6.0.100-preview.6.21355.2"
"version": "6.0.100"
}
}

View file

@ -2,10 +2,11 @@
<configuration>
<packageSources>
<clear />
<add key="dotnet" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v2" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<disabledPackageSources>
<clear />
</disabledPackageSources>
</configuration>

View file

@ -57,7 +57,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// Initializes a new instance of the <see cref="ParameterSetEntry"/> class.
/// </summary>
/// <param name="mandatoryParameterCount"></param>
internal ParameterSetEntry(UInt32 mandatoryParameterCount)
internal ParameterSetEntry(uint mandatoryParameterCount)
{
this.MandatoryParameterCount = mandatoryParameterCount;
this.IsDefaultParameterSet = false;
@ -80,7 +80,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
/// <param name="mandatoryParameterCount"></param>
/// <param name="mandatory"></param>
internal ParameterSetEntry(UInt32 mandatoryParameterCount, bool isDefault)
internal ParameterSetEntry(uint mandatoryParameterCount, bool isDefault)
{
this.MandatoryParameterCount = mandatoryParameterCount;
this.IsDefaultParameterSet = isDefault;
@ -104,7 +104,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <summary>
/// Property <c>MandatoryParameterCount</c>
/// </summary>
internal UInt32 MandatoryParameterCount { get; } = 0;
internal uint MandatoryParameterCount { get; } = 0;
/// <summary>
/// Property <c>IsValueSet</c>
@ -119,12 +119,12 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <summary>
/// Property <c>SetMandatoryParameterCount</c>
/// </summary>
internal UInt32 SetMandatoryParameterCount { get; set; } = 0;
internal uint SetMandatoryParameterCount { get; set; } = 0;
/// <summary>
/// Property <c>SetMandatoryParameterCountAtBeginProcess</c>
/// </summary>
internal UInt32 SetMandatoryParameterCountAtBeginProcess { get; set; } = 0;
internal uint SetMandatoryParameterCountAtBeginProcess { get; set; } = 0;
}
/// <summary>

View file

@ -153,7 +153,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string theNamespace,
string queryDialect,
string queryExpression,
UInt32 operationTimeout)
uint operationTimeout)
{
ValidationHelper.ValidateNoNullorWhiteSpaceArgument(queryExpression, queryExpressionParameterName);
computerName = ConstValue.GetComputerName(computerName);
@ -173,7 +173,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string theNamespace,
string queryDialect,
string queryExpression,
UInt32 operationTimeout)
uint operationTimeout)
{
ValidationHelper.ValidateNoNullorWhiteSpaceArgument(queryExpression, queryExpressionParameterName);
ValidationHelper.ValidateNoNullArgument(cimSession, cimSessionParameterName);
@ -192,7 +192,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string theNameSpace,
string theQueryDialect,
string theQueryExpression,
UInt32 theOperationTimeout)
uint theOperationTimeout)
{
enableRaisingEvents = false;
status = Status.Default;
@ -378,7 +378,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
private string nameSpace;
private string queryDialect;
private string queryExpression;
private UInt32 operationTimeout;
private uint operationTimeout;
#endregion
#endregion
}

View file

@ -123,7 +123,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string nameSpace,
string queryDialect,
string queryExpression,
UInt32 operationTimeout)
uint operationTimeout)
{
DebugHelper.WriteLogEx("queryDialect = '{0}'; queryExpression = '{1}'", 0, queryDialect, queryExpression);
this.TargetComputerName = computerName;
@ -146,7 +146,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string nameSpace,
string queryDialect,
string queryExpression,
UInt32 operationTimeout)
uint operationTimeout)
{
DebugHelper.WriteLogEx("queryDialect = '{0}'; queryExpression = '{1}'", 0, queryDialect, queryExpression);
if (cimSession == null)
@ -317,7 +317,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <returns></returns>
private CimSessionProxy CreateSessionProxy(
string computerName,
UInt32 timeout)
uint timeout)
{
CimSessionProxy proxy = CreateCimSessionProxy(computerName);
proxy.OperationTimeout = timeout;
@ -332,7 +332,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <returns></returns>
private CimSessionProxy CreateSessionProxy(
CimSession session,
UInt32 timeout)
uint timeout)
{
CimSessionProxy proxy = CreateCimSessionProxy(session);
proxy.OperationTimeout = timeout;

View file

@ -542,11 +542,11 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <summary>
/// Set timeout value (seconds) of the operation.
/// </summary>
public UInt32 OperationTimeout
public uint OperationTimeout
{
get
{
return (UInt32)this.OperationOptions.Timeout.TotalSeconds;
return (uint)this.OperationOptions.Timeout.TotalSeconds;
}
set
@ -821,7 +821,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
/// <param name="channel"></param>
/// <param name="message"></param>
internal void WriteMessage(UInt32 channel, string message)
internal void WriteMessage(uint channel, string message)
{
DebugHelper.WriteLogEx("Channel = {0} message = {1}", 0, channel, message);
try
@ -863,7 +863,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
CimCmdletStrings.CimOperationStart,
operation,
(parameters.Length == 0) ? "null" : parameters.ToString());
WriteMessage((UInt32)CimWriteMessageChannel.Verbose, operationStartMessage);
WriteMessage((uint)CimWriteMessageChannel.Verbose, operationStartMessage);
}
/// <summary>
@ -878,7 +878,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
string operationCompleteMessage = string.Format(CultureInfo.CurrentUICulture,
CimCmdletStrings.CimOperationCompleted,
operation);
WriteMessage((UInt32)CimWriteMessageChannel.Verbose, operationCompleteMessage);
WriteMessage((uint)CimWriteMessageChannel.Verbose, operationCompleteMessage);
}
/// <summary>
@ -894,8 +894,8 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
public void WriteProgress(string activity,
string currentOperation,
string statusDescription,
UInt32 percentageCompleted,
UInt32 secondsRemaining)
uint percentageCompleted,
uint secondsRemaining)
{
DebugHelper.WriteLogEx("activity:{0}; currentOperation:{1}; percentageCompleted:{2}; secondsRemaining:{3}",
0, activity, currentOperation, percentageCompleted, secondsRemaining);
@ -1879,7 +1879,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <param name="credential"></param>
/// <returns></returns>
internal static CimSessionOptions CreateCimSessionOption(string computerName,
UInt32 timeout, CimCredential credential)
uint timeout, CimCredential credential)
{
DebugHelper.WriteLogEx();

View file

@ -26,7 +26,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
#region Properties
internal UInt32 Channel { get; }
internal uint Channel { get; }
internal string Message { get; }
@ -35,7 +35,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <summary>
/// Initializes a new instance of the <see cref="CimWriteMessage"/> class.
/// </summary>
public CimWriteMessage(UInt32 channel,
public CimWriteMessage(uint channel,
string message)
{
this.Channel = channel;

View file

@ -40,8 +40,8 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
int theActivityID,
string theCurrentOperation,
string theStatusDescription,
UInt32 thePercentageCompleted,
UInt32 theSecondsRemaining)
uint thePercentageCompleted,
uint theSecondsRemaining)
{
this.Activity = theActivity;
this.ActivityID = theActivityID;
@ -112,12 +112,12 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// <summary>
/// Gets the percentage completed of the given activity.
/// </summary>
internal UInt32 PercentageCompleted { get; }
internal uint PercentageCompleted { get; }
/// <summary>
/// Gets the number of seconds remaining for the given activity.
/// </summary>
internal UInt32 SecondsRemaining { get; }
internal uint SecondsRemaining { get; }
#endregion
}

View file

@ -110,7 +110,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter(ValueFromPipelineByPropertyName = true)]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// <para>

View file

@ -79,7 +79,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter(ValueFromPipelineByPropertyName = true)]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// The following is the definition of the input parameter "Session".

View file

@ -260,7 +260,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// <para>The following is the definition of the input parameter "InputObject".

View file

@ -81,7 +81,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
ValueFromPipelineByPropertyName = true,
ParameterSetName = SessionIdSet)]
[SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
public UInt32[] Id
public uint[] Id
{
get
{
@ -95,7 +95,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
private UInt32[] id;
private uint[] id;
/// <summary>
/// The following is the definition of the input parameter "InstanceID".

View file

@ -373,7 +373,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
#endregion

View file

@ -223,7 +223,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// <para>

View file

@ -104,7 +104,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter(ValueFromPipelineByPropertyName = true)]
public UInt32 OperationTimeoutSec
public uint OperationTimeoutSec
{
get
{
@ -118,7 +118,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
private UInt32 operationTimeout;
private uint operationTimeout;
internal bool operationTimeoutSet = false;
/// <summary>
@ -136,7 +136,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// This is specificly for wsman protocol.
/// </summary>
[Parameter(ValueFromPipelineByPropertyName = true)]
public UInt32 Port
public uint Port
{
get
{
@ -150,7 +150,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
private UInt32 port;
private uint port;
private bool portSet = false;
/// <summary>

View file

@ -231,7 +231,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Parameter(ValueFromPipelineByPropertyName = true,
ParameterSetName = WSManParameterSet)]
public UInt32 MaxEnvelopeSizeKB
public uint MaxEnvelopeSizeKB
{
get
{
@ -246,7 +246,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
private UInt32 maxenvelopesizekb;
private uint maxenvelopesizekb;
private bool maxenvelopesizekbSet = false;
/// <summary>

View file

@ -124,7 +124,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(CimBaseCommand.AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// The following is the definition of the input parameter "Session".

View file

@ -154,7 +154,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// The following is the definition of the input parameter "InputObject".

View file

@ -108,7 +108,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
ValueFromPipelineByPropertyName = true,
ParameterSetName = SessionIdSet)]
[SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
public UInt32[] Id
public uint[] Id
{
get
{
@ -122,7 +122,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
private UInt32[] id;
private uint[] id;
/// <summary>
/// The following is the definition of the input parameter "InstanceId".

View file

@ -151,7 +151,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
/// </summary>
[Alias(AliasOT)]
[Parameter]
public UInt32 OperationTimeoutSec { get; set; }
public uint OperationTimeoutSec { get; set; }
/// <summary>
/// The following is the definition of the input parameter "InputObject".

View file

@ -690,7 +690,7 @@ namespace Microsoft.Management.UI.Internal
{
parameterType = GetPropertyString(parameterTypeData, "name");
// If there is no type for the paramter, we expect it is System.Object
// If there is no type for the parameter, we expect it is System.Object
if (string.IsNullOrEmpty(parameterType))
{
parameterType = "object";

View file

@ -4,7 +4,6 @@
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Management.Automation;
using System.Windows.Documents;
@ -274,13 +273,11 @@ namespace Microsoft.Management.UI.Internal
/// <param name="propertyName">Property name.</param>
private void OnNotifyPropertyChanged(string propertyName)
{
#pragma warning disable IDE1005 // IDE1005: Delegate invocation can be simplified.
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
#pragma warning restore IDE1005s
}
}
}

View file

@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using System.Windows.Documents;
using System.Windows.Media;
@ -108,15 +107,10 @@ namespace Microsoft.Management.UI.Internal
bool newHighlighted = false;
ParagraphBuilder.MoveSpanToPosition(ref currentBoldIndex, ref currentBoldSpan, i, this.boldSpans);
#pragma warning disable IDE0075 // IDE0075: Conditional expression can be simplified
newBold = currentBoldSpan == null ? false : currentBoldSpan.Value.Contains(i);
#pragma warning restore IDE0075
ParagraphBuilder.MoveSpanToPosition(ref currentHighlightedIndex, ref currentHighlightedSpan, i, this.highlightedSpans);
#pragma warning disable IDE0075 // IDE0075: Conditional expression can be simplified
newHighlighted = currentHighlightedSpan == null ? false : currentHighlightedSpan.Value.Contains(i);
#pragma warning restore IDE0075
if (newBold != currentBold || newHighlighted != currentHighlighted)
{
@ -134,7 +128,7 @@ namespace Microsoft.Management.UI.Internal
}
/// <summary>
/// Highlights all ocurrences of <paramref name="search"/>.
/// Highlights all occurrences of <paramref name="search"/>.
/// This is called after all calls to AddText have been made.
/// </summary>
/// <param name="search">Search string.</param>
@ -255,7 +249,7 @@ namespace Microsoft.Management.UI.Internal
/// </summary>
/// <param name="currentSpanIndex">Current index within <paramref name="allSpans"/>.</param>
/// <param name="currentSpan">Current span within <paramref name="allSpans"/>.</param>
/// <param name="caracterPosition">Caracter position. This comes from a position within this.textBuilder.</param>
/// <param name="caracterPosition">Character position. This comes from a position within this.textBuilder.</param>
/// <param name="allSpans">The collection of spans. This is either this.boldSpans or this.highlightedSpans.</param>
private static void MoveSpanToPosition(ref int currentSpanIndex, ref TextSpan? currentSpan, int caracterPosition, List<TextSpan> allSpans)
{
@ -307,13 +301,11 @@ namespace Microsoft.Management.UI.Internal
/// <param name="propertyName">Property name.</param>
private void OnNotifyPropertyChanged(string propertyName)
{
#pragma warning disable IDE1005 // IDE1005: Delegate invocation can be simplified.s
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
#pragma warning restore IDE1005
}
/// <summary>

View file

@ -56,7 +56,7 @@ namespace Microsoft.Management.UI.Internal
}
// If the caret is in the end of a highlight we move to the adjacent run
// It has to be in the end because if there is a match at the begining of the file
// It has to be in the end because if there is a match at the beginning of the file
// and the caret has not been touched (so it is in the beginning of the file too)
// we want to highlight this first match.
// Considering the caller allways set the caret to the end of the highlight

View file

@ -3,7 +3,6 @@
using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls.Primitives;
@ -80,7 +79,6 @@ namespace Microsoft.Management.UI.Internal
}
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private void SetFocus(UIElement element)
{
if (element.Focusable)

View file

@ -35,9 +35,7 @@ namespace Microsoft.Management.UI.Internal
{
get
{
#pragma warning disable IDE0075 // IDE0075: Conditional expression can be simplified
return (this.renameButton != null) ? this.renameButton.IsChecked.Value : false;
#pragma warning restore IDE0075
}
}

View file

@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.Management.UI.Internal
{
@ -98,8 +97,6 @@ namespace Microsoft.Management.UI.Internal
#endregion IAsyncProgress
#region Private Methods
#pragma warning disable IDE1005 // IDE1005: Delegate invocation can be simplified.
private void OnCollectionChanged(NotifyCollectionChangedEventArgs args)
{
NotifyCollectionChangedEventHandler eh = this.CollectionChanged;
@ -120,8 +117,6 @@ namespace Microsoft.Management.UI.Internal
}
}
#pragma warning restore IDE1005
// forward CollectionChanged events from the base list to our listeners
private void HandleCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{

View file

@ -4,7 +4,6 @@
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
@ -203,7 +202,6 @@ namespace Microsoft.Management.UI.Internal
return this.GetConstrainedValue(newWidth, this.MaxWidth, this.MinWidth);
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private double GetHorizontalDelta(ResizeGripLocation location, double horzDelta)
{
double realDelta;
@ -221,7 +219,6 @@ namespace Microsoft.Management.UI.Internal
return realDelta;
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private double GetConstrainedValue(double value, double max, double min)
{
return Math.Min(max, Math.Max(value, min));

View file

@ -5,7 +5,6 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Reflection;
@ -197,7 +196,6 @@ namespace Microsoft.Management.UI.Internal
#region Helpers
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private bool TryGetGenericParameterForComparableValueFilterRule(FilterRule rule, out Type genericParameter)
{
genericParameter = null;
@ -219,7 +217,6 @@ namespace Microsoft.Management.UI.Internal
return true;
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private object GetValueFromValidatingValue(FilterRule rule, string propertyName)
{
Debug.Assert(rule != null && !string.IsNullOrEmpty(propertyName), "rule and propertyname are not null");
@ -239,7 +236,6 @@ namespace Microsoft.Management.UI.Internal
return property.GetValue(validatingValue, null);
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private void SetValueOnValidatingValue(FilterRule rule, string propertyName, object value)
{
Debug.Assert(rule != null && !string.IsNullOrEmpty(propertyName), "rule and propertyname are not null");

View file

@ -5,12 +5,11 @@ using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.Management.UI.Internal
{
/// <summary>
/// The FilterEvaluator class is responsible for allowing the registeration of
/// The FilterEvaluator class is responsible for allowing the registration of
/// the FilterExpressionProviders and producing a FilterExpression composed of
/// the FilterExpression returned from the providers.
/// </summary>
@ -174,8 +173,6 @@ namespace Microsoft.Management.UI.Internal
#region NotifyPropertyChanged
#pragma warning disable IDE1005 // IDE1005: Delegate invocation can be simplified.
/// <summary>
/// Notifies listeners that a property has changed.
/// </summary>
@ -217,8 +214,6 @@ namespace Microsoft.Management.UI.Internal
}
}
#pragma warning restore IDE1005
private void FilterProvider_FilterExpressionChanged(object sender, EventArgs e)
{
// Update HasFilterExpression \\

View file

@ -13,7 +13,7 @@ namespace Microsoft.Management.UI.Internal
{
/// <summary>
/// Gets a values indicating whether the supplied item has meet the
/// criteria rule specificed by the rule.
/// criteria rule specified by the rule.
/// </summary>
/// <param name="item">
/// The item to evaluate.

View file

@ -3,7 +3,6 @@
using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
namespace Microsoft.Management.UI.Internal
@ -191,7 +190,6 @@ namespace Microsoft.Management.UI.Internal
}
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private bool TryGetEnumValue(object rawValue, out T castValue)
{
Debug.Assert(rawValue != null, "rawValue not null");

View file

@ -4,7 +4,6 @@
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Controls;
namespace Microsoft.Management.UI.Internal
@ -50,11 +49,9 @@ namespace Microsoft.Management.UI.Internal
partial void OnOkAddFilterRulesCanExecuteImplementation(System.Windows.Input.CanExecuteRoutedEventArgs e)
{
#pragma warning disable IDE0075 // IDE0075: Conditional expression can be simplified
e.CanExecute = (this.AddFilterRulesCommand != null)
? CommandHelper.CanExecuteCommand(this.AddFilterRulesCommand, null, this.AddFilterRulesCommandTarget)
: false;
#pragma warning restore IDE0075
}
partial void OnOkAddFilterRulesExecutedImplementation(System.Windows.Input.ExecutedRoutedEventArgs e)

View file

@ -25,7 +25,7 @@ namespace Microsoft.Management.UI.Internal
}
/// <summary>
/// Gets a string that indentifies which group this
/// Gets a string that identifies which group this
/// item belongs to.
/// </summary>
public string GroupId

View file

@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Text;
using System.Windows.Data;
@ -70,7 +69,6 @@ namespace Microsoft.Management.UI.Internal
#region Helpers
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private bool IsOfTypeValidatingValue(object value)
{
Debug.Assert(value != null, "not null");
@ -94,7 +92,6 @@ namespace Microsoft.Management.UI.Internal
return value.GetType().GetGenericArguments()[0];
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private object GetBackgroundTextForType(Type inputType)
{
if (typeof(DateTime) == inputType)

View file

@ -8,7 +8,6 @@ using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Text;
using System.Windows;
@ -297,7 +296,7 @@ namespace Microsoft.Management.UI.Internal
this.itemsSourceIsEmpty = this.ItemsSource != null && this.ItemsSource.GetEnumerator().MoveNext() == false;
// A view can be created if there is data to auto-generate columns, or columns are added programatically \\
// A view can be created if there is data to auto-generate columns, or columns are added programmatically \\
bool canCreateView = (this.ItemsSource != null) &&
(this.itemsSourceIsEmpty == false || this.AutoGenerateColumns == false);
@ -402,14 +401,12 @@ namespace Microsoft.Management.UI.Internal
/// <returns>The exception to be thrown when using Items.</returns>
private static NotSupportedException GetItemsException()
{
#pragma warning disable IDE1005 // IDE1005: Delegate invocation can be simplified.
return new NotSupportedException(
string.Format(
CultureInfo.InvariantCulture,
InvariantResources.NotSupportAddingToItems,
nameof(InnerList),
ItemsControl.ItemsSourceProperty.Name));
#pragma warning restore IDE1005s
}
#endregion static private methods
@ -608,7 +605,6 @@ namespace Microsoft.Management.UI.Internal
return entryText.ToString();
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private void SetClipboardWithSelectedItemsText(string text)
{
if (string.IsNullOrEmpty(text))

View file

@ -6,7 +6,6 @@ using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Management.Automation;
namespace Microsoft.Management.UI.Internal
@ -89,7 +88,6 @@ namespace Microsoft.Management.UI.Internal
}
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private int CompareData(object firstValue, object secondValue, StringComparison stringComparison)
{
// If both values are null, do nothing; otherwise, if one is null promote the other \\

View file

@ -4,7 +4,6 @@
using System;
using System.ComponentModel;
using System.Data;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
namespace Microsoft.Management.UI.Internal
@ -111,7 +110,6 @@ namespace Microsoft.Management.UI.Internal
return descriptor;
}
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
private bool TryGetPropertyValueInternal(PropertyDescriptor descriptor, object value, out object propertyValue)
{
propertyValue = null;

View file

@ -5,7 +5,6 @@ using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Windows;
using System.Windows.Controls;
@ -309,7 +308,6 @@ namespace Microsoft.Management.UI.Internal
#region View Manager Callbacks
[SuppressMessage("Performance", "CA1822: Mark members as static", Justification = "Potential breaking change")]
partial void OnSaveViewCanExecuteImplementation(CanExecuteRoutedEventArgs e)
{
string viewName = (string)e.Parameter;

Some files were not shown because too many files have changed in this diff Show more