"objectiser" wrote:
Just to check - so if the lifecycle is just associated with the service, will the versions of the dependent artifacts be "locked in" when the service changes to the next lifecycle phase?
Good question. ;-)
"objectiser" wrote:
For example, if a XSD is directly or indirectly a dependency of a service, and the service moves from development to test, we want to make sure the artifacts associated with the service are stable - so if someone then uploads a new version of the XSD, then service in test is not affected.
Or possibly this should be offered as an option when changing lifecycle phase?
One possible solution is "snapshot" like Drools Guvnor does. At a certain stage, one can take a snapshop of a service.
Another solution is using a fixed version path as the dependency. Every artifact or service in SOA Repository has a unique path which can be used to identiy the artifact or service uniquely. There are two types of path:
1. latest version path: for example /repository/schmeas/in.xsd. This is equal to /repository/schmeas/in.xsd?version=latest.
2. Fixed version path: for example /repository/schmeas/in.xsd?version=4
If you use a fixed version path for a dependency, then the service wont be affected.