Note: This is the migration API reference for FAKE 5. The new (modularized) API documentation can be found
here.
If the API is already migrated you can check
here if exists in a module.
More information regarding the migration can be found
here
Contains helpers which allow to parse Change log text files.
These files have to be in a format as described on http://keepachangelog.com/en/1.1.0/
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.0] - 2020-03-17
First release
### Added
- This release already has lots of features
[0.1.0]: https://github.com/user/MyCoolNewLib.git/releases/tag/v0.1.0
|
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
|
let changelogFile = "CHANGELOG.md"
let newVersion = "1.0.0"
Target.create "AssemblyInfo" (fun _ ->
let changelog = changeLogFile |> Changelog.load
CreateFSharpAssemblyInfo "src/Common/AssemblyInfo.fs"
[ Attribute.Title project
Attribute.Product project
Attribute.Description summary
Attribute.Version changelog.LatestEntry.AssemblyVersion
Attribute.FileVersion changelog.LatestEntry.AssemblyVersion]
)
Target.create "Promote Unreleased to new version" (fun _ ->
let newChangelog =
changelogFile
|> ChangeLog.load
|> ChangeLog.promoteUnreleased newVersion
|> ChangeLog.save changelogFile
)
|
Function or value | Description |
Changelog.create(...)
Signature: description:string option -> unreleased:Unreleased option -> entries:ChangelogEntry list -> Changelog
|
|
Changelog.createWithCustomHeader(...)
Signature: header:string -> description:string option -> unreleased:Unreleased option -> entries:ChangelogEntry list -> Changelog
|
|
Changelog.fromEntries(entries)
Signature: entries:ChangelogEntry list -> Changelog
|
|
Changelog.load(filename)
Signature: filename:string -> Changelog
|
Parses a Changelog text file and returns the lastest changelog.
Parameters
filename - Changelog text file name
Returns
The loaded changelog (or throws an exception, if the changelog could not be parsed)
|
Changelog.parse(data)
Signature: data:seq<string> -> Changelog
|
Parses a change log text and returns the change log.
Parameters
|
Changelog.parseVersions(line)
Signature: line:string -> Match * Match
|
|
Changelog.promoteUnreleased(...)
Signature: version:string -> changelog:Changelog -> Changelog
|
Promotes the Unreleased section of a changelog
to a new changelog entry with the given version
Parameters
version - The version (in NuGet-Version format, e.g. 3.13.4-alpha1.212
changelog - The changelog to promote
Returns
The promoted changelog
|
Changelog.save filename changelog
Signature: filename:string -> changelog:Changelog -> unit
|
Saves a Changelog to a text file.
Parameters
filename - Changelog text file name
changelog - the changelog data
|