63 lines
2.4 KiB
YAML
Executable File
63 lines
2.4 KiB
YAML
Executable File
mode: 'absorb' # or 'increment'
|
|
blade-directive: version
|
|
current:
|
|
label: v
|
|
major: 1
|
|
minor: 1
|
|
patch: 41
|
|
prerelease:
|
|
buildmetadata:
|
|
commit: 100001
|
|
timestamp:
|
|
mode: absorb
|
|
year:
|
|
month:
|
|
day:
|
|
hour:
|
|
minute:
|
|
second:
|
|
timezone:
|
|
commit:
|
|
mode: absorb
|
|
length: 6
|
|
increment-by: 1
|
|
git:
|
|
from: 'local' # or "remote"
|
|
commit:
|
|
local: 'git rev-parse --verify HEAD'
|
|
remote: 'git ls-remote {$repository}'
|
|
branch: refs/heads/master
|
|
repository: '' ### you can use config() to get it here: {{ config('version.git.remote.repository') }}. Do not use env()
|
|
version:
|
|
local: 'git describe'
|
|
remote: 'git ls-remote {$repository} | grep tags/ | grep -v {} | cut -d / -f 3 | sort --version-sort | tail -1'
|
|
matcher: '/^(?P<label>[v|V]*[er]*[sion]*)[\.|\s]*(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/'
|
|
timestamp:
|
|
local: 'git show -s --format=%ci'
|
|
remote: 'git show -s --format=%ci origin/master' ## we will have to find a better way
|
|
format:
|
|
regex:
|
|
optional_bracket: '\[(?P<prefix>.*?)(?P<spaces>\s*)(?P<delimiter>\?\=)(?P<optional>.*?)\]'
|
|
label: "{$label}"
|
|
major: "{$major}"
|
|
minor: "{$minor}"
|
|
patch: "{$patch}"
|
|
prerelease: "{$prerelease}"
|
|
buildmetadata: "{$buildmetadata}"
|
|
commit: "{$commit}"
|
|
version: 'version {$major}.{$minor}.{$patch} (commit {$commit})'
|
|
version-only: 'version {$major}.{$minor}.{$patch}'
|
|
## Bracket enclosed expressions "[.?{$variable}]" are only rendered if the ?={$variable} is filled
|
|
full: '{$version-only}[.?={$prerelease}][+?={$buildmetadata}] (commit {$commit})'
|
|
compact: "v{$major}.{$minor}.{$patch}-{$commit}"
|
|
timestamp-year: '{$timestamp.year}'
|
|
timestamp-month: '{$timestamp.month}'
|
|
timestamp-day: '{$timestamp.day}'
|
|
timestamp-hour: '{$timestamp.hour}'
|
|
timestamp-minute: '{$timestamp.minute}'
|
|
timestamp-second: '{$timestamp.second}'
|
|
timestamp-timezone: '{$timestamp.timezone}'
|
|
timestamp-datetime: '{$timestamp.year}-{$timestamp.month}-{$timestamp.day} {$timestamp.hour}:{$timestamp.minute}:{$timestamp.second}'
|
|
timestamp-full: '{$timestamp.year}-{$timestamp.month}-{$timestamp.day} {$timestamp.hour}:{$timestamp.minute}:{$timestamp.second} {$timestamp.timezone}'
|
|
## add as many formats as you need !!!!
|