Changeset [8169025fe449e6753b61d352e085b3a3815b92a8] by Thell Fowler

November 6th, 2009 @ 10:11 PM

project files: introduce version info generator

  • Modifies all VC 8 & 9 build configurations in the notepadplus project files to use a pre-build event to generate entries for resource VERSIONINFO and include gen-versioninfo.h which is built from the GIT-VS-VERSION-GEN.bat script. The gen-versioninfo.h is included in the project file and added to .gitignore.

  • The GIT-VS-VERSION-GEN.bat uses three possible sources:

    • A packaged release VERSION file.
    • Default value within the script itself
    • git-describe

The version information generated creates a file version string with the format: Major.Minor.Fix.Build

The build value is the number of commits since the '0' tag of the current release fix release stream.

If a tag's build value matches the number of commits from the '0' tag of the current stage and HEAD is clean then VS_FF_PATCHED will be flagged but VS_FF_PRIVATE will not be. This allows a maint patch to be different than a commit that is a similar number of commits away from the patched build to be identified.

Builds created while working with a dirty directory tree will have the version string amended with '-dirty'.

The script can be run with --test from cmd.exe when msysgit is available to illustrate how the current settings will build the header.

  • VS_FF_PRIVATE, VS_FF_PATCHED, VS_FF_PRERELEASE are set accordingly when git is available, as well as Comment and Private Build strings.

  • When git is available multiple builds of the same commit exit early based on the value stored in an untracked tmp file. This feature can be skipped using the --force argument.

[#12 state:needs_ack responsible:npp-community tagged:versioning]

Signed-off-by: Thell Fowler git@tbfowler.name
http://github.com/almostautomated/npp-community/commit/8169025fe449...

Committed by Thell Fowler

  • A PowerEditor/src/.gitignore
  • A scripts/GIT-VS-VERSION-GEN.bat
  • M PowerEditor/src/Notepad_plus.rc
  • M PowerEditor/visual.net/notepadPlus.8.vcproj
  • M PowerEditor/visual.net/notepadPlus.9.vcproj
New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Notepad++ Community Release

Shared Ticket Bins