DataONEorg / bookkeeper

Bookkeeper keeps track of DataONE product subscriptions and quotas for researchers using the extended services.
Other
1 stars 2 forks source link

Extract the Bookkeeper API models into a new repository #71

Closed csjx closed 3 years ago

csjx commented 3 years ago

The Bookkeeper service uses the API models internally to provide the service, but other clients also use them (Metacat, MetaDIG, etc.) that don't need the service classes or other logic. We have been generating a bookkeeper jar file for the server side, and a bookkeeper-client jar for these external clients. However, they are both generated from the same build and release, and so are tied together.

Create a bookkeeper-api repository that stores these models, and change the Bookkeeper service to use this as a dependency. This will free it up for the clients to use as well, and the release schedules will be independent.

csjx commented 3 years ago

I've extracted the org.dataone.bookkeeper.api package out of the Bookkeeper codebase and moved it into the https://github.com/dataoneorg/bookkeeper-api repository. I've tagged and released a Bookkeeper API 1.0.0 library, and have imported it back into Bookkeeper. The model unit tests are also moved over to the bookkeeper-api repository. I've deployed bookkeeper-api to https://mave.dataone.org, so Metacat can now import it. Closing this out.