I’ve got a project which depends upon another project containing protocol buffer generated files.
It’s a GRPC server project.
Is there any trick you can do to prevent a dep being locked - that is, everyone you execute ‘mix deps.get’ the latest version for the configured branch will be fetched ?
As far as I know there’s no way to accomplish this directly. I’d probably either:
Add a deps_get.sh script that ran mix deps.get; mix deps.update grpc_dep
Use a path dependency in development and add a ci task to check that the version of the grpc_dep in the lock file is the most recent version
a. Note that this requires you to have a separate local checkout of the dependency
Alternatively you could forgo a mix.lock file completely (by constantly deleting it) but I wouldn’t advise you to take that approach.
I’d say just be careful. I just learned about it recently; Mix aliasing is wonderful but for this particular use case it could be dangerous as since it’s relatively less well known it might be forgotten to be turned off when the codebase stabilizes and shouldn’t be using it in the future.
I should note this is a feature branch depending upon a rapidly changing upstream feature branch - work needs to be performed on both repositories at the same tiem in order to reach PR approval stage - duly noted.