Andrew Schwartzmeyer 94e5469458 Refactor options into New-PSOptions
Deduction of PowerShell output path is now done in `New-PSOptions`,
which returns a hash table representing the build options, so that it
can be done outside of `Start-PSBuild`.

`Start-PSBuild` saves the options it creates as a script-local variable,
`$script:Options`.

`Get-PSOutput` will either unwrap the an options hash table parameter,
the script local options hash table, or use the default options.

Thus, if `Start-PSBuild` hasn't been run, it can be used to get the
output path given non-default options like this:

```powershell
Get-PSOutput -Options (New-PSOptions -Publish)
```

Or simply call `Get-PSOutput` to get the best-guess default path.

Note that because ValidateSet does not support the use of constant
variables, the set of runtimes has to be duplicated, and an empty
runtime is supported.
2016-04-14 18:06:04 -07:00
2016-04-14 09:45:18 -07:00
2016-04-12 12:10:54 -07:00
2016-04-14 09:45:18 -07:00
2016-04-07 13:56:20 -07:00
2016-02-19 14:58:42 -08:00
2016-03-08 10:12:28 -08:00
2016-04-08 18:09:09 -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
OS X 10.11 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)

See Linux releases and Windows artifacts installation instructions.

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. To make things easy, we can just clone recursively.

git clone --recursive https://github.com/PowerShell/PowerShell.git

You can verify that the submodules were initialized properly with:

git submodule status

If they're initialized, it will look like this:

 f23641488f8d7bf8630ca3496e61562aa3a64009 src/Modules/Pester (f23641488)
 c99458533a9b4c743ed51537e25989ea55944908 src/libpsl-native/test/googletest (release-1.7.0)
 e6bf85694ae8352d77175c4c7d304946e018808c src/windows-build (monad/cc6afbeb-3/31)

If they're not, there will be minuses in front (and the folders will be empty):

-f23641488f8d7bf8630ca3496e61562aa3a64009 src/Modules/Pester (f23641488)
-c99458533a9b4c743ed51537e25989ea55944908 src/libpsl-native/test/googletest (release-1.7.0)
-e6bf85694ae8352d77175c4c7d304946e018808c src/windows-build (monad/cc6afbeb-3/31)
S
Description
No description provided
Readme MIT
110 MiB
0 Stars 1 Watchers 0 Forks
Languages
C# 82.3%
PowerShell 16.8%
Roff 0.6%
Shell 0.2%