This set of changes separates out dependencies and uses the java.util.ServiceLoader pattern to make run-time assembly possible. This allows the 'heavyweight' modules (e.g. natural language processing stuff) to be re-instated.
Some core code has also been refactored to attempt to make the code clearer.
Resolves #183 and #163, and some further work on #182.
This set of changes separates out dependencies and uses the
java.util.ServiceLoader
pattern to make run-time assembly possible. This allows the 'heavyweight' modules (e.g. natural language processing stuff) to be re-instated.Some core code has also been refactored to attempt to make the code clearer.
Resolves #183 and #163, and some further work on #182.