Agree with previous sentiments, and:

On 17-04-18 10:59 PM, Christopher Hall wrote:
You should use built in golang vendoring to ensure these
dependencies, as their is no guarantee that someone won't update the
library port and your app would break, so doing that is very fragile

Currently the GH_TUPLE method is working as it specifies exact
dependency versions or specific git hashes.

but we made several attempts at submodules in vendor dir
but have had problems building and go get -u breaks things.

I am wondering if you might suggest a tool or do any other programs in
ports use such a dependency tool.  Last time I searched ports tree I
only saw GH_TUPLE used so I just followed that method.


From my point of view, the only thing that should be in the vendor directory on checkout is the version-lock file. This is different for different tools.

I have been using gb, as it makes the most sense to me:

https://getgb.io/

sysutils/hfm uses this

godep is also popular, from what I understand:

https://godoc.org/github.com/tools/godep

Vendoring changed internally in go with a GO15VENDOREXPERIMENT build environment variable (and then default in 1.6), although I have not yet played with it:

https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo/edit

... from the docs, it sounds like it would be compatible with gb from a build standpoint - and you simply could use gb to track, fetch and lock versions in development - the same thing the ports GH_TUPLE covers. What you do when it's not hosted at github, well....

Derek

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"

Reply via email to