Merge pull request #1401 from alexandair/patch-4

Update README.md
This commit is contained in:
Sergei Vorobev 2016-07-20 15:46:37 -07:00 committed by GitHub
commit 32c8fd659c

View File

@ -1,22 +1,22 @@
Preparing Preparing
========= =========
Open PowerShell releases use [Semantic Versioning][semver]. Until we hit 1.0, PowerShell releases use [Semantic Versioning][semver].
each sprint results in a bump to the minor version number, and interim bugfix Until we hit 1.0, each sprint results in a bump to the minor version number,
releases bump the patch number. and interim bugfix releases bump the patch number.
When a particular commit is chosen as a release, we create an When a particular commit is chosen as a release, we create an [annotated tag][tag] that names the release,
[annotated tag][tag] that names the release and list the major changes since the and list the major changes since the previous release.
previous release. An annotated tag has a message (like a commit), and is *not* An annotated tag has a message (like a commit), and is *not* the same as a lightweight tag.
the same as a lightweight tag. Create one with `git tag -a vX.Y.Z`. Our Create one with `git tag -a vX.Y.Z`.
convention is to prepend the `v` to the semantic version. The summary (first Our convention is to prepend the `v` to the semantic version.
line) of the annotated tag message should be the full release title, e.g. The summary (first line) of the annotated tag message should be the full release title,
'v0.3.0 alpha release of Open PowerShell'. e.g. 'v0.6.0 beta release of Open PowerShell'.
When the annotated tag is finalized, push it with `git push --tags`. GitHub will When the annotated tag is finalized, push it with `git push --tags`.
see the tag and present it as an option when creating a new [release][]. Start GitHub will see the tag and present it as an option when creating a new [release][].
the release, use the annotated tag's summary as the title, and save the release Start the release, use the annotated tag's summary as the title,
as a draft while you upload the binary packages. and save the release as a draft while you upload the binary packages.
[semver]: http://semver.org/ [semver]: http://semver.org/
[tag]: https://git-scm.com/book/en/v2/Git-Basics-Tagging [tag]: https://git-scm.com/book/en/v2/Git-Basics-Tagging
@ -28,39 +28,35 @@ Building Packages
Linux / OS X Linux / OS X
------------ ------------
The `build.psm1` module contains a `Start-PSPackage` function to build Linux The `build.psm1` module contains a `Start-PSPackage` function to build Linux packages.
packages. It requires that `Start-PSBuild -Publish` has been run. The output It requires that `Start-PSBuild -Publish` has been run.
*must* be published so that it includes the runtime. This function will The output *must* be published so that it includes the runtime.
automatically deduce the correct version from the most recent annotated tag This function will automatically deduce the correct version from the most recent annotated tag (using `git describe`),
(using `git describe`), and if not specified, will build a package for the and if not specified, will build a package for the current platform.
current platform.
At this time, Linux packages must be built on Linux, and OS X packages on OS X; At this time, Linux packages must be built on Linux, and OS X packages on OS X;
however, an RPM can be created on Ubuntu. This requires installing the `rpm` however, an RPM can be created on Ubuntu.
package, building with `-Runtime centos.7.1-x64`, and packaging with `-Type rpm`. This requires installing the `rpm` package, building with `-Runtime centos.7.1-x64`, and packaging with `-Type rpm`.
The `Start-PSBuild` function relies on the [Effing Package Management][fpm] The `Start-PSBuild` function relies on the [Effing Package Management][fpm] project,
project, which makes building packages for any (non-Windows) platform a breeze. which makes building packages for any (non-Windows) platform a breeze.
Follow their readme to install FPM. Follow their readme to install FPM.
To modify any property of the packages, edit the `Start-PSPackage` function. To modify any property of the packages, edit the `Start-PSPackage` function.
Please also refer to the function for details on the package properties (such as Please also refer to the function for details on the package properties (such as the description,
the description, maintainer, vendor, URL, license, category, dependencies, and maintainer, vendor, URL, license, category, dependencies, and file layout).
file layout).
[fpm]: https://github.com/jordansissel/fpm [fpm]: https://github.com/jordansissel/fpm
Windows Windows
------- -------
The `Start-PSBuild` function delegates to `New-MSIPackage` which creates a The `Start-PSBuild` function delegates to `New-MSIPackage` which creates a Windows Installer Package of PowerShell.
Windows Installer Package of Open PowerShell. It uses the Windows Installer XML It uses the Windows Installer XML Toolset (WiX) to generate a `PowerShell_<version>.msi`,
Toolset (WiX) to generate a `OpenPowerShell_<version>.msi`, which installs a which installs a self-contained copy of the current version (commit) of PowerShell.
self-contained copy of the current version (commit) of Open PowerShell. It It copies the output of the published PowerShell application to a version-specific folder in Program Files,
copies the output of the published PowerShell application to a version-specific and installs a shortcut in the Start Menu.
folder in Program Files, and installs a shortcut in the start-menu. It can be It can be uninstalled through Programs and Features.
uninstalled through Programs and Features.
Note that Open PowerShell is always self-contained, thus using it does not Note that PowerShell is always self-contained, thus using it does not require installing it.
require installing it. The output of `Start-PSBuild -Publish` includes a The output of `Start-PSBuild -Publish` includes a `powershell.exe` executable which can simply be launched.
`powershell.exe` executable which can simply be launched.