-
Notifications
You must be signed in to change notification settings - Fork 20.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Go modules #19605
Go modules #19605
Conversation
We can remove the vendor folder also if we switch to use go mod, right? |
@tzdybal I'm curious if you have tried this update closer to the head state? go mod inititalization for me at 7f33625 throws unknown revision errors for errors: and
In the case of karalable/usb the issue appears to be exactly what it says, there is no revision 6a7de9d893fe in the repo anymore. There was on another branch but that was merged in as 9be757f. I will open an issue/PR for this unless I realize I'm missing something... Not sure what the deal is with protobuf though, as the revision we should be using at 7f33625 is b285ee9cfc6c881bb20c0d8dc73370ea9b9ec90f which does exist at that repo, but for some reason it is trying to use the github.com/gogo/protobuf repo which does not have that revision (even though my go.mod has @hadv yeah this would enable removal of the vendor dir! |
I'll re-approach this again in few days. I want to fix problem with linting, and ofc all the errors related to |
ca7575d
to
4b4f3c1
Compare
Latest changes:
Please re-review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use the latest version of go-libpcsclite
Approach with `_workspace` directory was replaced with Go modules. gometalinter was updated to v3.0.0.
To keep things simple - force using modules to install specific version of gometalinter. Without this, current working directory and GO111MODULE environment variable must be used to decide whether to use versioned or unversioned `go get`.
Because of go modules, it's easiest to create tests in local subdirectory, to ensure that correct version of dependencies is used.
Leftover line from 96fb839 removed.
d953fe9
to
e0599c2
Compare
All linting errors resolved. Rebased with master. Build passing. |
Copied this from Discord: The theory is easy. Unfortunately there are certain builders that will choke on modules |
If modules cannot be used at all, I assume only go 1.10 (or prior) is available (which is rather old and therefore should be updated anyways). It seems that longsleep/golang-backports PPA provides up-to-date packages for all currently supported Ubuntu distributions (see Ubuntu release page). Is it really necessary to build packages for unsupported versions of Ubuntu? |
Closing this in favor of #20311
|
Go 1.13, the next release of Go, will enable modules by default.
This PR introduces Go modules into go-ethereum.
env.sh
script was removed, as it's not needed anymore. The behavior of build process remains the same - project can be build from any directory, inside or outside of$GOPATH
.