-
Notifications
You must be signed in to change notification settings - Fork 452
Vendor everything regardless of build tags #271
Comments
I have an app that we build for multiple os/arch combinations. godep is not working for me because it only includes files for the current build tags, and deletes previous ones from other build tags. I would like to switch to godep, but it is difficult if this is not resolved. |
It looks like this will be difficult to do with the current implementation that executes |
On second thought, it may be difficult to do with
The real problem I have is that running Alternatively, we could do |
I get bitten by this issue a lot as well. One thing I've been toying with (but have yet to actually write) is a script to that will take a list of GOARCH and GOOS that your project supports, then run godep against every combination, at each step unstaging any deletions and adding any new packages (assuming git). It a right pain in a backside to have to do this though - it'd be nice if go list had some kind of 'ignore all tags' option that would make it list everything all the time (maybe my passing in * to the -tags argument). Until then, manual hacks and workarounds seem to be the only way forward. |
@captncraig Yep. I've spent a lot of time going down that same path and before I went on vacation (which I'm back from) I started writing my own version of go/build.Context because of this. It's no where near ready though. ;-) |
This is a huge problem I've ran into on multiple occasions. Thankfully CI catches it, but it makes working with dependencies really difficult. |
It's really pain for godep, hope we can get progress ASAP? |
FWIW: I'm acutely aware of this issue every day. |
+1. Any updates on this? |
Main motivation is so that we can attempt to pick up packages across architectures and to have more control over the list of packages. I consider this the first in several structural changes. Most additions are inside of list.go. For each run of listPackage a depScanner is made to track already seen packages (inspired by Scanner). That list is not cached between executions. The current implementation of listPackage attempts to resolve vendor/ a bit better than we used to, but other changes need to be implemented elsewhere in godep before that can be fully realized. All *existing* tests pass, but this doesn't mean it actually works *better*. A test was added to show that we fix #271.
Currently we end up respecting build tags when we select files/packages for vendoring. This causes problems when vendoring happened on a target platform that isn't the one you are building on. We should ignore build tags when selecting files.
The text was updated successfully, but these errors were encountered: