Commit graph

71 commits

Author SHA1 Message Date
Dongbo Wang a62c9d9443
Add the performance benchmark project for PowerShell performance testing (#15242) 2021-04-30 09:34:26 -07:00
Dongbo Wang e741dc58dd
Discover assemblies loaded by 'Assembly.Load(byte[])' and 'Assembly.LoadFile' (#12203)
* Fix regression: pwsh should discover assemblies loaded by 'Assembly.Load(byte[])' and 'Assembly.LoadFile'
2020-03-28 20:25:59 +05:00
Steve Lee 4220271e0e Move to .NET Core 3.0 preview.8 (#10351) 2019-08-15 13:42:17 -07:00
Steve Lee 73114ee36c Enable building of msix package (#9289)
Add support in packaging.psm1 to produce a .msix AppX package.  Update the docker image to use the new msix package type.  Update the associated yml files so AzDevOps performs the build.

## PR Context

Enable publishing PSCore6 to Microsoft Store
2019-04-15 17:07:15 -07:00
Tyler James Leonhardt 23eccfd641 [feature] Add -CustomPipeName to pwsh and Enter-PSHostProcess (#8889)
This allows a user to start PowerShell up with the name of the named pipe that is used for cross process communication (I.e. Enter-PSHostProcess).
2019-02-22 23:40:03 +05:00
Reece Dunham 43b68c43cc Remove GitKracken files from GitIgnore (#8743)
<!-- Anything that looks like this is a comment and can't be seen after the Pull Request is created. -->  

## PR Summary
GitKracken now automatically prevents them from being committed, so this is not needed.  
<!-- Summarize your PR between here and the checklist. -->  

## PR Context  

<!-- Provide a little reasoning as to why this Pull Request helps and why you have opened it. -->

## PR Checklist

- [X] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
    - Use the present tense and imperative mood when describing your changes
- [X] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [X] [Change is not breaking](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)
- [X] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [X] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress).
    - If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready.  
- **User-facing changes**
    - [X] Not Applicable
    - **OR**  
    - [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
        - [ ] Issue filed: <!-- Number/link of that issue here -->
- **Testing - New and feature**
    - [X] N/A or can only be tested interactively
    - **OR**
    - [X] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting)
        - [X] [Add `[feature]` to your commit messages if the change is significant or affects feature tests](https://github.com/PowerShell/PowerShell/blob/master/docs/testing-guidelines/testing-guidelines.md#requesting-additional-tests-for-a-pr)
2019-01-25 15:49:57 -08:00
Mark Kraus 4590bf3cf9 Ignore files added by SelfSignedCertificate (#8728)
WebListener module depends on SelfSignedCertificate module and restore it so we should ignore the files in git.
2019-01-24 11:42:20 +05:00
Reece Dunham 1977a2b013 Add macOS files to .gitignore (#8456) 2019-01-14 18:02:12 -08:00
RDIL 0514d837bf Add gitkracken files to gitignore (#8434) 2018-12-12 12:56:25 -08:00
Dongbo Wang a11810bf33
Improve powershell startup time (#8341)
Major changes are as follows:
- Avoid `SecuritySupport.IsProductBinary` and unnecessary AMSI/suspicious code scan at startup time
   - Update `CompiledScriptBlockData.IsProductCode` to avoid unnecessary calls to `IsProductBinary`, which attempts to retrieve catalog signature of the target file.
   - Update `PerformSecurityChecks` to skip AMSI and suspicious code scan for the `.psd1` file that contains a safe `HashtableAst` only.
- Use customized `ReadOnlyBag` instead of `ImmutableHashSet` so that we can avoid loading the `System.Collections.Immutable.dll` completely.
- Replace `SHA1` with `CRC32` when generating module analysis cache file name
   - This remove the loading of `System.Security.Cryptography.Algorithms.dll` at startup
- Move `ConvertFrom-SddlString` to C# to remove the `Utility.psm1` file.
- Crossgen `Microsoft.ApplicationInsights.dll` and enable tiered compilation
   - Even pwsh with crossgen assemblies spends a lot time in jitting at the startup, about `191.6ms` comparing with `24.7ms` for Windows PowerShell.
   - Jitting `Microsoft.ApplicationInsights.dll` takes about `51.6ms`.
   - By crossgen `Microsoft.ApplicationInsights.dll` and enable tiered compilation, the jitting time drops to about `98.9ms`.
2018-12-02 12:52:39 -08:00
Staffan Gustafsson 3c079b9d42 Add type inference for Select-Object command (#7171)
Add type inference for Select-Object command

Fixes #7170
2018-07-02 13:23:30 -07:00
Steve Lee f760fde0b7 Remove support for file to opt-out of telemetry, only support env var (#6601)
Since a PR added support to opt out of telemetry via an environment variable, we can remove the,
always intended to be a temporary, solution of deleting a file to opt out of telemetry since the
environment variable can be defined at the system level and exist before even installing PowerShell Core.

Because the variable is defined as opt out, a value of true, yes, or 1 means no telemetry is sent.
2018-04-13 10:29:39 -07:00
Travis Plunk 701b919345
MSI: add function to generate a MSP (#6445)
add a function to generate an MSP
2018-03-26 14:39:48 -07:00
Travis Plunk 49ec403899
fix MSI creation errors, and capture wixpdb for later patch creation (#6221)
- add `wixpdb` output when creating `MSI` package
- capture `wixpdb` in official build
- clean up anything left behind from previous MSI builds before starting MSI build to prevent using dirty files.
- make sure MSI creation fails if there is an error
- ignore `.wixpdb` files in git
- Add functionality to `Start-NativeExecution` to 
    - only display output if there is an error 
    - log caller information
- WXS validation error fixes
    - Remove unused `ExitDialog` to fix ICE82
    - Add KeyPath to `SetPath` to fix ICE18
    - Use `HKMU` which translates to `HKLM` to runtime to fix various validation errors about creating the shortcut
- Suppress Validation errors
    - suppress ICE61, which is about same version upgrades being allowed
    - suppress ICE57, caused by the shortcut not being installed per user
2018-02-26 15:45:15 -08:00
Keith Hill cef7762d18 Add standard set of vscode workspace setting files (#5457)
* Add standard set of vscode workspace setting files

Add an extensions.json file that will prompt folks to install extensions that are recommended for this workspace (c++, c#, powershell, cmake (editing syntax) and markdown linter.

Add settings.json to start to configure C# syntax, PoweShell trim trailing whitespace and configure the markdown lint extension.

Update launch.json to provide ability to debug PowerShell scripts.

* Clean up grammar

* Instruct VSCode to ensure a final newline.

If this is not wanted for certain file types, we can restrict this option to only specified file types.
2017-11-15 11:18:37 +04:00
Dongbo Wang 2fd484f491 Update the man help file used in packaging (#5173)
* Update pacakging.psm1 and rename man file

* Update pwsh.1.ronn
2017-10-19 15:09:16 -07:00
Dongbo Wang 59b5d16139 Update appimage.sh to reflect the new name 'pwsh' (#5172) 2017-10-19 12:32:55 -07:00
Dongbo Wang a391998a25 Support creating tarball package for Linux and macOS (#5085)
* Support creating tarball package for Linux and macOS

* Address comments
2017-10-12 13:36:46 -07:00
Ilya 6e77537181 Get 'PSVersion' and 'GitCommitId' from the 'ProductVersion' attribute of assembly (#4863) 2017-09-28 09:27:43 -07:00
Jason Shirk de70969f4e Add VS 2017 solution file for powershell-win-core (#4748) 2017-09-18 17:13:29 -07:00
Steve Lee 7c9b188c13 Rename $IsOSX to $IsMacOS (#4757) 2017-09-07 10:34:40 -07:00
Travis Plunk e829053e9e Add ability to package all of powershell core as a NuGet Package (#4363)
So that PowerShell can be installed using PackageManagement cmdlets find-package and install-package.
2017-08-01 14:35:50 -07:00
Staffan Gustafsson a52adcd3cf Adding support for Typeinference based on runtime variable values (#2744)
* Refactored the type inference code in preparation to make it a public api.
* Added type inference tests

Fixes #2567
2017-06-07 15:52:33 -07:00
James Truher [MSFT] a2268ab3ec Add telemetry to the console host to report platform and version (#3620)
This is limited to the console host and is not meant as generalized telemetry code for PowerShell Core. It will capture the GitCommitID and Platform Information when the console host starts. It enables opting out of sending telemetry.
2017-04-25 22:51:22 -07:00
Douglas Thrift 4d5d0a0034 Rename Publish-EchoArgs to Publish-PSTestTools
* Rename Publish-EchoArgs to Publish-PSTestTools so it can be used
  for other tools as well in the future
* Publish EchoArgs to the bin directory instead of run to match
  convention
* Add source URL to EchoArgs header comment
* Use wildcard of "*.nuget.props" to match
  "test/csharp/csharp.nuget.props" in .gitignore
2016-09-13 13:37:42 -07:00
Douglas Thrift 7e8070276f Move and "publish" EchoArgs for the tests
* Move EchoArgs from test/EchoArgs to test/tools/EchoArgs
* Use "dotnet publish" for building EchoArgs in build.psm1 so the test
  can call it directly
2016-09-13 13:37:42 -07:00
Douglas Thrift 77a4e96795 Add test/csharp/csharp.nuget.props to .gitignore 2016-09-13 13:37:42 -07:00
Travis Plunk d03acd7fd8 Ignore test results 2016-08-30 11:47:40 -07:00
Andrew Schwartzmeyer c0aac111d3 Enable side-by-side Unix packages 2016-08-11 13:38:54 -07:00
Andrew Schwartzmeyer 5235fed2c7 Refactor Start-PSPackage
Moved Unix package code into New-UnixPackage, switching on $Types to
call the appropriate function given the list of types.

Also fixed bug with chmod on a symlink; it was unnecessary.
2016-08-11 13:38:54 -07:00
Sergei Vorobev 37d904a6db Update .gitignore to account for OS X specific temp files 2016-08-06 15:54:06 -07:00
Sergei Vorobev 483166ea60 Update .gitignore about .vscode 2016-08-02 11:45:50 -07:00
Sergei Vorobev c76651e850 Update .gitignore files 2016-07-24 09:17:22 -07:00
Sergei Vorobev c4deb5d377 Update .gitignore to ignore dlls and pdbs 2016-07-22 16:11:38 -07:00
Travis Plunk b1a0dda6de ignored VS Code Files 2016-07-19 16:36:08 -07:00
Travis Plunk db0637950f Ignored a per repo profile 2016-07-11 18:57:22 -07:00
Sergei Vorobev 2f9762bffc Update .gitignore 2016-07-03 23:06:35 -07:00
Jason Shirk (POWERSHELL) 07501f1d3a Add *.csproj.user to .gitignore 2016-07-01 17:37:19 -07:00
Sergei Vorobev fa5d3fa063 Add missed install/uninstall scripts to .gitignore 2016-06-17 09:07:34 -07:00
Sergei Vorobev 436d3303cd Add uninstall script in .gitignore 2016-06-17 05:22:24 -07:00
Sergei Vorobev 979610035a Update .gitignore 2016-06-15 18:59:06 -07:00
Sergei Vorobev d92620dcf3 Move resgen artifacts from submodules into src subfolders
Submodule adds unnessesary complexity.
This commit removes dependency on pre-generated C# bindings.
Start-PsBuild -ResGen will call Start-ResGen.
It also has auto-detect logic to simplify first time expirience.
2016-06-15 10:34:10 -07:00
Raghu Shantha [MSFT] 84823553cc Add Ability to generate Appx packages 2016-06-02 10:31:02 -07:00
James Truher 860284b00f be sure to have git ignore a bunch of different package types 2016-05-25 13:07:13 -07:00
Andy Schwartzmeyer 0afc56d5d4 Ignore executables 2016-05-24 14:46:41 -07:00
Sergei Vorobev 7033dc31f1 Merge pull request #1026 from PowerShell/vors/nuget
Adding Nuget artifacts to AppVeyor project nuget feed
2016-05-23 17:58:32 -07:00
Sergei Vorobev 53b8411111 dotnet team changed their script name, change our bootstrap 2016-05-22 01:06:34 -07:00
Sergei Vorobev 159dcee626 Add Publish-NuGetFeed function to build.psm1 2016-05-22 00:17:44 -07:00
James Truher 8583cf5e96 update PSVersionTable code to use powershell.version rather than .version because on Linux the .version file doesn't seem to be binplaced. I postulate this is because it's a hidden file 2016-05-19 13:19:16 -07:00
Andy Schwartzmeyer c5560957f4 Ignore Packages and src/monad
The former is the NuGet package location on Windows, and the latter is
used for copying from the old submodule.
2016-05-18 15:10:41 -07:00