Versioning Strategy for Service Interfaces JAR

Posted by Colin Morelli on Programmers See other posts from Programmers or by Colin Morelli
Published on 2014-04-27T00:00:00Z Indexed on 2014/05/28 15:55 UTC
Read the original article Hit count: 337

Filed under:
|
|

I'm building a service oriented architecture composed (mostly) of Java-based services, each of which is a Maven project (in an individual repository) with two submodules: common, and server. The common module contains the service's interfaces that clients can include in their project to make service calls. The server submodule contains the code that actually powers the service.

I'm now trying to figure out an appropriate versioning strategy for the interfaces, such that each interface change results in a new common jar, but changes to the server (so long as they don't impact the contract of the interfaces) receive the same common jar.

I know this is pretty simple to do manually (simply increment the server version and don't touch the common one), but this project will be built and deployed by a CI server, and I'd like to come up with a strategy for automatically versioning these. The only thing I have been able to come up with so far is to have the CI server md5 the service interfaces.

© Programmers or respective owner

Related posts about versioning

Related posts about soa