┌──────┐ ┌─────────────────────┐ ┌─────────────────────┐ ┌────────────────────┐ │Config│ │NextVersionCalculator│ │BaseVersionCalculator│ │BuildMetadataCreator│ └───┬──┘ └──────────┬──────────┘ └──────────┬──────────┘ └──────────┬─────────┘ │ │ 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│ └──────┘ └─────────────────────┘ └─────────────────────┘ └────────────────────┘