... | ... | @@ -7,20 +7,14 @@ |
|
|
The *cameo* project contains five main projects *Server*, *Console*, *Java API*, *C++ API*, *Python API* that have their own version but are dependent.
|
|
|
|
|
|
Here are the rules for the definition of the version of a project among *Server*, *Console*, *Java API*, *C++ API*, *Python API*:
|
|
|
* **Major**
|
|
|
* Incremented for all the projects.
|
|
|
* A new value means that the server is not compatible with a client with a smaller major version.
|
|
|
* **Major**: Incremented for all the projects. A new value means that the server is not compatible with a client with a smaller major version.
|
|
|
|
|
|
* **Minor**
|
|
|
* If a project among the five has a new functionality, its new minor value is the maximum of the current five minor values plus one.
|
|
|
* The *Python API* minor value must be the same as *C++ API* and the binding should be updated when the *C++ API* is updated.
|
|
|
* If the same functionality is implemented in *Server*, *C++ API*, *Java API*, they can all have the same new minor value.
|
|
|
* **Minor**: If a project among the five has a new functionality, its new minor value is the maximum of the current five minor values plus one. The *Python API* minor value must be the same as *C++ API* and the binding should be updated when the *C++ API* is updated. If the same functionality is implemented in *Server*, *C++ API*, *Java API*, they can all have the same new minor value.
|
|
|
|
|
|
E.g. the new version of *Java API* with current versions Server = 1.3.1, Console = 1.2.0, Java API = 1.3.3, C++ API = 1.4.1 is 1.5.0.
|
|
|
|
|
|
|
|
|
* **Revision**
|
|
|
* Each project has its own revision value that is incremented when a bug fix or an optimization is done.
|
|
|
* **Revision**: Each project has its own revision value that is incremented when a bug fix or an optimization is done.
|
|
|
|
|
|
When we need to tag the global *cameo* project:
|
|
|
* **Major**: Same as the five projects.
|
... | ... | |