openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mcweeney <mcwee...@adobe.com.INVALID>
Subject [CLI] Convert cli project to use "dep" instead of GoDeps
Date Wed, 20 Dec 2017 19:37:58 GMT
A bit of background is probably in order. The go dependency management 
ecosystem is/was a bit of a mess[0,1,2]. Go when it got started didn't 
really help solve dependencies at all so a number of projects sprung up 
to help, godep, glide, govendor to name a few. They all really helped to 
move the state of go tooling forward but being fractured has its own 
challenges.

Responding to this in 1.5 the golang team codified the idea of vendor 
directory[3] which came out the community projects above, then in early 
2016 (IIRC) moved to create a tool that would land in the main go tool 
chain[4] called "dep" to handle this.

I propose moving the CLI project to dep instead of godep as that appears 
to be the way forward for the go community. The risk is that this tool 
(golang dep) does not get accepted by the community and the go team lets 
it die on the vine in favor of one of the other community solutions.

To see what the differences are I've already made a PR for it[5]. I'll 
probably have to push some furthers fixes to get travis working as I'm 
not very familiar with that build system and dep isn't already available 
in travis-ci, although there is a feature request for it[6].

[0] - 
https://hackernoon.com/the-state-of-go-dependency-management-6cc5f82a4bfa
[1] - 
https://blog.gopheracademy.com/advent-2016/saga-go-dependency-management/
[2] - http://jbeckwith.com/2015/05/29/dependency-management-go/
[3] - 
https://github.com/golang/go/wiki/PackageManagementTools#go15vendorexperiment
[4] - https://github.com/golang/dep/wiki/Roadmap
[5] - https://github.com/apache/incubator-openwhisk-cli/pull/182
[6] - https://github.com/travis-ci/travis-ci/issues/8301

Mime
View raw message