bob
bob copied to clipboard
Remove artifact store interface
We can remove Store interface
Following reasons:
- Clean() is implemented only on the local, Done only on the remote
- ctx was added to the interface only for the remote store purpose
- In the code they are always used separately so no polymorphism is happening.
- existence of "not implemented" methods on both implementations
1 & 2 show they really are different behaviours so no benefit of having this interface. Adding new functionalities to one implementation forces us to add params to the second one.
In the process of removing the shared Store interface it would also be good to remove and avoid the package name store and use more specific names like localartifactstore or remoteartifactstore etc.
Wanted to implement this in https://github.com/benchkram/bob/pull/227, but didn't get an approval from @Equanox
Will close this