Go to file
Andrew Schwartzmeyer b8435da8db Fix up .vscode files
2016-03-30 23:30:26 -07:00
.vscode Fix up .vscode files 2016-03-30 23:30:26 -07:00
docs Move PSRP notes 2016-03-30 23:30:26 -07:00
package Add Start-PSPackage command to build deb/pkg packages 2016-02-22 11:29:03 -08:00
src Fix hardcoded path to resources in EventLogLogProvider.cs 2016-03-30 20:01:34 -07:00
test Add test/README.md 2016-03-30 23:30:26 -07:00
.gitignore Clean up .gitignore files 2016-02-09 14:06:39 -08:00
.gitmodules Remove psl-monad submodule 2016-03-30 20:01:05 -07:00
.travis.yml Remove psl-monad submodule 2016-03-30 20:01:05 -07:00
appveyor.yml Remove psl-monad submodule 2016-03-30 20:01:05 -07:00
build.sh Fix build.sh for new location of libpsl-native 2016-03-29 11:46:16 -07:00
CONTRIBUTING.md Move Git documents to subfolder 2016-03-30 21:30:06 -07:00
debug.sh Improve debug.sh script 2016-02-19 14:58:42 -08:00
download.sh Add download script to obtain PowerShell release 2016-03-17 12:47:43 -07:00
global.json Add global.json for dnu restore from root 2015-11-24 15:07:55 -08:00
KNOWNISSUES.md Update readme and known issues 2016-03-08 10:12:28 -08:00
mapping.json Add resx files to mapping.json 2016-03-30 14:12:50 -07:00
nuget.config Add cli-deps feed for dotnet-test-xunit 2016-02-17 16:20:17 -08:00
omibuild.sh Update OMI and PSRP scripts 2016-03-08 16:17:37 -08:00
pester.sh Import Platform module in pester.sh for Travis 2016-03-04 15:46:54 -08:00
PowerShellGitHubDev.psm1 Fix typo in PowerShellGitHubDev.psm1 mapping 2016-03-30 14:13:36 -07:00
psrp.sh Update OMI and PSRP scripts 2016-03-08 16:17:37 -08:00
README.md Move PSRP notes 2016-03-30 23:30:26 -07:00
xunit.sh Deploy native library automatically 2016-03-29 11:18:12 -07:00

PowerShell

This repository is "Project Magrathea": Open PowerShell on GitHub, for Linux, Windows (.NET Core and Full), and OS X. It is built using the .NET Command Line Interface to support targetting every flavor of PowerShell. It is a collaborative effort among many teams:

  • Full PowerShell
  • Core PowerShell
  • Open Source Technology Center
  • .NET Foundation

Build Status

Platform master
Ubuntu 14.04 Build Status
Windows Build status

Get PowerShell

Linux Windows .NET Core Windows .NET Full OS X PSRP
Build from Source Instructions Instructions Instructions Instructions Instructions
Get Binaries Releases Artifacts Artifacts Releases TBD

Building summary: Start-PSBuild from the module ./PowerShellGitHubDev.psm1 (self-host on Linux / OS X)

Team coordination

If you encounter any problems, see the known issues, search the issues, and if all else fails, open a new issue.

Obtain the source code

Setup Git

Install Git, the version control system.

See the Contributing Guidelines for more Git information, such as our installation instructions, contributing rules, and Git best practices.

Download source code

Clone this repository. It is a "superproject" and has a number of other repositories embedded within it as submodules. Please see the contributing guidelines and learn about submodules. Not every submodule is required on every system; see the individual build instructions for the necessary subsets.

Debugging

To enable debugging on Linux, follow the installation instructions for Experimental .NET Core Debugging in VS Code. You will also want to review their detailed instructions.

VS Code will place a .vscode directory in the PowerShell folder. This contains the launch.json file, which you will customize using the instructions below. You will also be prompted to create a tasks.json file.

Currently, debugging supports attaching to a currently running powershell process. Assuming you've created a launch.json file correctly, within the "configuration" section, use the below settings:

"configurations": [
    {
        "name": "powershell",
        "type": "coreclr",
        "request": "attach",
        "processName": "powershell"
    }
]

VS Code will now attach to a running powershell process. Start powershell, then (in VS Code) press F5 to begin the debugger.

FullCLR PowerShell

Running from CI server

We publish an archive with FullCLR bits on every CI build with AppVeyor.

  • Download zip package from artifacts tab of the particular build.
  • Unblock zip file: right-click in file explorer -> properties -> check 'Unblock' checkbox -> apply
  • Extract zip file to $bin directory
  • Start-DevPSGithub -binDir $bin