,.-^^-._ |-.____.-| | | | | | | ┌─────────────────────┐ ┌─────────────────────┐ ┌────────────────────┐ '-.____.-' │NextVersionCalculator│ │BaseVersionCalculator│ │BuildMetadataCreator│ Config └──────────┬──────────┘ └──────────┬──────────┘ └──────────┬─────────┘ │ │ GetBaseVersion │ ╔══════════════════════════════╧═══════╗ │ │──────────────────────────────────────>│ ║see below for how base is calculated ░║ │ │ │ ╚══════════════════════════════╤═══════╝ │ │ 2.0.0|25e4ba │ │ │ │<──────────────────────────────────────│ │ │ │ │ │ │ │ │ │ ╔══════╤══════╪═══════════════════════════════════════════╪═══════════════════════════════════════╪════════════════════╗ │ ║ ALT │ if base version allows increment * │ │ ║ │ ╟──────┘ │ │ │ ║ │ ║ │ Branch increment strategy (patch) │ │ ║ │ ║ │──────────────────────────────────────────>│ │ ║ │ ║ │ │ │ ║ │ ║ │ │────┐ │ ╔═══════╗ ║ │ ║ │ │ │ Increment using correct strategy │ ║2.0.1 ░║ ║ │ ║ │ │<───┘ │ ╚═══════╝ ║ │ ╚═════════════╪═══════════════════════════════════════════╪═══════════════════════════════════════╪════════════════════╝ │ │ │ │ │ │ │ │ │ ╔══════╤══════╪═══════════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════╗ │ ║ ALT │ base version has pre-release tag │ │ ║ │ ╟──────┘ │ │ │ ║ │ ║ │ │────┐ │ ║ │ ║ │ │ │ Base is 2.0.1-alpha.1 + │ ║ │ ║ │ │<───┘ │ ║ │ ║ │ │ │ ║ │ ║ │ │────┐ │╔═══════════════╗ ║ │ ║ │ │ │ Increment the number on the tag │║2.0.1-alpha.2 ░║ ║ │ ║ │ │<───┘ │╚═══════════════╝ ║ │ ╠═════════════╪═══════════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════╣ │ ║ │ │ │ ║ │ ║ │pre-release tag for current branch (alpha) │ │ ║ │ ║ │──────────────────────────────────────────>│ │ ║ │ ║ │ │ │ ║ │ ║ │ │────┐ ╔══╧════════════╗ ║ │ ║ │ │ │ Apply config to pre-release ║2.0.1-alpha.1 ░║ ║ │ ║ │ │<───┘ ╚══╤════════════╝ ║ │ ╚═════════════╪═══════════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════╝ │ │ │ │ │ │ │ Context│ │ │ │───────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ commit count: 10, extra: branch.develop.sha.5e42ba │ │ │<───────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │────┐ │╔══════════════════╗ │ │ │ │ Apply commit count and metadata │║2.0.1-alpha.1+10 ░║ │ │ │<───┘ │╚══════════════════╝ │ Config ┌──────────┴──────────┐ ┌──────────┴──────────┐ ┌──────────┴─────────┐ ,.-^^-._ │NextVersionCalculator│ │BaseVersionCalculator│ │BuildMetadataCreator│ |-.____.-| └─────────────────────┘ └─────────────────────┘ └────────────────────┘ | | | | | | '-.____.-'