# # A release branch requires updating the following two variables at the bottom of this file: # # IOS_PACKAGE_VERSION (major/minor/revision #) # MAC_PACKAGE_VERSION (major/minor/revision #) # # Update version numbers on master as well, to the next version # # # ** Version numbers ** # # Versions are defined as: Major.Minor.Revison.Build # # Major/minor (first/second numbers - max 2 digits each): # - Bump for major/minor releases. # # Revision (third number - max 2 digits): # - Reset to 0 after a major or minor bump (do not use 99 for Xcode preview # branches (use 0 instead), because otherwise we can't bump it further if # needed). # - Bump for service releases and previews. # - Bump if commit distance becomes > 999. # - Can also be bumped for other reasons (in particular there's no correlation # between Preview/Service Release #X and Revision #Y). # - Bumping revision to a high enough number to make it clear that there's # no correlation is a valid reason to bump. # - The revision must be bumped at the same time for both iOS and Mac # (otherwise the commit distance will differ). # - Also bump if the [IOS|MAC]_PACKAGE_VERSION lines change for any other # reason (otherwise we end up with repeating version numbers, since the # commit distance would restart at 0, while the other numbers wouldn't # change). # - Any other problem can also usually be solved by bumping the revision. # - Do not refactor the revision to a separate variable, because the reason # bumping the revision is a general solution for many problems is that it # also resets the commit distance (which wouldn't happen if the revision was # refactored to a separate variable). # # Build (fourth number - max 3 digits): # - Automatically calculated as the number of commits since the last time any # of the other three numbers changed (technically since the corresponding # line changed in git). # IOS_PACKAGE_VERSION=12.5.1.$(IOS_COMMIT_DISTANCE) MAC_PACKAGE_VERSION=5.5.1.$(MAC_COMMIT_DISTANCE)