VCS dependency on pinned build

I've got a scenario where I have a project E whose sources are used by another project G, and the version of E's sources to be used by G needs to be controlled, it should not always use the latest version. Pinning of E is an acceptable model, as would labels/tags be, as long as there's a way to reference a unique one, most likely the latest one.

Initially I set up an Artifact Dependency from G to E, using the latest pinned build, but I don't actually need the build output, I just need the sources, as project G will be building a subset of the original code for a different platform. G contains its own source code, which relies heavily on E's. (Essentially, if E builds and the tests passes, it's a candidate for use by G, but not before I say so)

So, my question is, what kind of dependency setup would allow me to pull E's sources from a corresponding pinned build, into each build of G? VCS roots don't seem to offer any kind of pinning.

To complicate the matter, E does generate artifacts, for other purposes, and including all the sources there would "contaminate" the output.



Some further research shows this won't actually work for the intended scenario. I believe I'll have to stick with Artifact Dependencies.


Hi Andreas,

If you need to manually run G build configuration on the same sources as pinned E build, you can configure snapshot dependency and use promote action to trigger build G on needed sources.

Also you can use Auto labeling build feature to label needed sources in E build, and then checkout labeled sources in G build configuration.


Please sign in to leave a comment.