Skip to content

yingjin-us/PowerShell

Repository files navigation

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

Packages

No packages published

Languages

  • C# 93.3%
  • PowerShell 5.8%
  • C++ 0.8%
  • CMake 0.1%
  • XSLT 0.0%
  • C 0.0%