stacs-srg / storr

A file-based record storage library

Home Page:https://stacs-srg.github.io/storr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why multiple modules?

grahamkirby opened this issue · comments

@sic2 what was the motivation for creating multiple maven modules within storr? Given that there's very little code in two of them, it seems unnecessarily complicated.

The idea behind having multiple modules was to allow other projects to use storr in multiple ways.
For instance, one may want to use storr as a maven dependency, without having to run a RESTful server.

The storr-rest describes the REST API and it is independent of the server run. That means that we can easily drop storr-jetty and use any other REST server in the future, while maintaining the same REST API.

Note that storr-rest and storr-jetty are not functional yet.

Fine, but don't see why you need separate modules to do that.

If done within one module, then you need to include the entire storr project as a dependency.

Yep. Why is that a problem? Surely in any scenario you need storr-core, which contains 99% of the code. I just don't see what significant benefit we get from this added complexity...

Agree. I did not mean to reduce the amount of code being imported. My idea was to make a clean logical split across the different parts of the project.

I am happy to merge everything under one module.

I don't really mind, just trying to understand the issues. To me, this introduces more complexity than it removes!