mode: increment
blade-directive: version
current:
  label: v
  major: 1
  minor: 0
  patch: 3
  prerelease: null
  buildmetadata: null
  commit: 100001
  timestamp:
    year: null
    month: null
    day: null
    hour: null
    minute: null
    second: null
    timezone: null
commit:
  length: 6
  increment-by: 1
git:
  from: remote
  commit:
    local: 'git rev-parse --verify HEAD'
    remote: 'git ls-remote {$repository}'
  branch: refs/heads/master
  repository: ''
  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'
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}'
  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}'
