Skip to content
This repository was archived by the owner on Apr 28, 2018. It is now read-only.

Updating build mechanisms to work for tagging. #135

Merged
merged 1 commit into from
Aug 27, 2016
Merged

Conversation

swernli
Copy link
Contributor

@swernli swernli commented Aug 27, 2016

@jstarks
This change introduces a new approach for versioning the project:

  • The build version in the project.json file is the official central version, and must be of the form Major.Minor.Revision. No prerelease additions (ie: "-alpha") supported since PowerShell doesn't support them.
  • All other versions (.nuspec package metadata, .psd1 module metadata) remain at 0.0.0, which represents the version for local developer builds.
  • At AppVeyor build time, the project.json version is written into the .nuspec and .psd1 files. If this is a non-tagged build, it is a developer feed build and will include a build number in the version (dynamically added to the project.json as well), making the full version format Major.Minor.Revision.Build. The build number will not be included for tagged release builds.

@swernli swernli force-pushed the experimental branch 2 times, most recently from da68f3a to cc5ae39 Compare August 27, 2016 01:18
@swernli
Copy link
Contributor Author

swernli commented Aug 27, 2016

@jstarks I think we are finally ready for this!

(Get-Content $manifest -Raw) -replace "ModuleVersion.+","ModuleVersion = '$psversion'" | Out-File $manifest
(Get-Content $manifest -Raw) -replace "ModuleVersion.+","ModuleVersion = '$version'" | Out-File $manifest

# Replace nuspec version.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this necessary? Doesn't the nuget pack line do this already?

This change introduces a new approach for versioning the project:

 - The build version in the project.json file is the official central version, and must be of the form Major.Minor.Revision. No prerelease additions (ie: "-alpha") supported since PowerShell doesn't support them.

 - All other versions (.nuspec package metadata, .psd1 module metadata) remain at 0.0.0, which represents the version for local developer builds.

 - At AppVeyor build time, the project.json version is written into the .nuspec and .psd1 files.  If this is a non-tagged build, it is a developer feed build and will include a build number in the version (dynamically added to the project.json as well), making the full version format Major.Minor.Revision.Build.  The build number will not be included for tagged release builds.
@jstarks jstarks merged commit 6c1878b into master Aug 27, 2016
@swernli swernli deleted the experimental branch August 27, 2016 06:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants