WL#10799: integrate MySQL Router into MySQL Server repository
As part of the MySQL InnoDB Cluster the MySQL Router becomes a integral part of the MySQL Server environment.
- code reuse
- detect incompatible changes early
the router should be close to the MySQL Server in source.
On the other side, the integration shouldn't result in lower build times in continuous integration systems.
Integration to "all"
- "make all" should include MySQL Router
- running the test-suite via "make" should run the MySQL Router tests too
Independent builds and packaging
- there must be a way to build MySQL Router without building the while MySQL Server to keep build-times in CIs low.
- the router packages should be able to be built without building the server packages to allow independent testing in CIs.
Before the router's 'master' tree can be push into the server tree it:
- MUST have code coverage above 80%
- MUST build and pass tests with MySQL Server 8.0
- MUST build clean with Sun Studio
- MUST align the use of 3rd party dependencies with the server (protobuf, gmock, gtest, ...)
- MUST have zero unapproved bugs
- MUST got security review
- MUST got QA sign off
- MUST got Cmake files reviewed
- MUST build packages (tar, deb, rpm, msi)
- MUST be integrated with the windows installer.
- MUST unify the code-style with the google coding style guide-lines.
- MUST have all major refactoring branches merged
- packaging and distribution of the Router SHALL NOT change.
The router source will be located in:
bundled 3rd party dependencies
- protobuf 3.0.0
These MUST be removed and the server's ext/ folder must be used instead.
Source Tree Integration