Skip to content

Commit

Permalink
Added information about versioning
Browse files Browse the repository at this point in the history
README.md now includes some guidelines on how to update the version number.
  • Loading branch information
Juergen Christ committed Feb 11, 2016
1 parent c561324 commit 387cb77
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,26 @@ If no options or command is specified, `mx` prints information on the available

For an example of `mx` usage, you can read the [Instructions][1] for the Graal project.

### mx versioning ###

`mx` uses a `major`.`minor`.`patch` versioning scheme. To figure out if you
version is sufficient for a given `mx` suite, first compare the major version
number of your `mx` version against the major number of the required version
specified in the suite. If these versions are not equal, you cannot expect
`mx` to be compatible with this suite. The minor number has to be greater or
equal to the specified minor version number. Compatibility is ensured
regardless of the patch level. However, if your patch level is lower than the
required patch level you might trigger bugs in `mx`.

From a developer point of view this versioning scheme enforces the following
update policy:
- If you make a change that prevents the new version of `mx` from loading
older files, increase the major number and reset both the minor and the patch
level to 0.
- If you add new functionality without breaking backward compatibility, leave
the major as it is, increase the minor number and reset the patch level.
- If you only fixed a bug without changing the public API (i.e., all files for
the current version can still be loaded with the new version and vice versa),
leave the major and minor versions as they are but increase the patch level.

[1]: https://wiki.openjdk.java.net/display/Graal/Instructions

0 comments on commit 387cb77

Please sign in to comment.