Adding the build system, proposition No. 2:
Move classes around to create concise source root out of available classes to match maven conventional layout.
Because multiple currently available roots are not independent of one another, making them separate maven submodules requires changes in source code, so it may or may not be worth the effort, and instead selecting a single way to go forward (e.g. drop android support entirely).
The advantage is better tooling support, better focus on single particular goal this project is aiming for and generally less mess.
The disadvantage is arbitrarily losing features - or if we aim to retain them, duplication or significant refactoring effort - which at this point, I cannot estimate.
Adding the build system, proposition No. 2: Move classes around to create concise source root out of available classes to match maven conventional layout.
Because multiple currently available roots are not independent of one another, making them separate maven submodules requires changes in source code, so it may or may not be worth the effort, and instead selecting a single way to go forward (e.g. drop android support entirely).
The advantage is better tooling support, better focus on single particular goal this project is aiming for and generally less mess.
The disadvantage is arbitrarily losing features - or if we aim to retain them, duplication or significant refactoring effort - which at this point, I cannot estimate.