Skip to content
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

build: is not compatible with the latest golang.org/x/tools #479

Closed
sitano opened this issue Apr 1, 2019 · 9 comments
Closed

build: is not compatible with the latest golang.org/x/tools #479

sitano opened this issue Apr 1, 2019 · 9 comments

Comments

@sitano
Copy link
Contributor

sitano commented Apr 1, 2019

  1. Version of golangci-lint: golangci-lint --version (or git commit if you don't use binary distribution)
    97ea1cbb21bbf5e4d0e8bcc0f9243385e9262dcc / v1.16.0 tag
  2. Version of the golang.org/x/tools which is github.com/golang/tools
    aef51cc3777c6a88d6834b42444edffdac4860fa
  3. Expected behavior: golangci-lint compiles fine
  4. Actual behavior:
github.com/golangci/golangci-lint/pkg/lint/load.go:171:2: duplicate case "golang.org/x/tools/go/packages".LoadAllSyntax (value 991) in switch
	previous case at golang.org/x/tools/go/packages/packages.go:98
  1. Reason: a change to a const LoadAllSyntax that became equal to a LoadSyntax https://github.com/golang/tools/blob/master/go/packages/packages.go#L104 by golang/tools@dbeab5a
@sitano sitano changed the title build: is not compatible with the latest github.com/golang/tools build: is not compatible with the latest golang.org/x/tools Apr 1, 2019
@jirfag
Copy link
Member

jirfag commented Apr 2, 2019

I've merged the linked pull request. Also, I recommend using binary releases

@jirfag jirfag closed this as completed Apr 2, 2019
@sitano
Copy link
Contributor Author

sitano commented Apr 2, 2019

I recommend using binary releases

@jirfag of course. yet we have a specific CI process in which we include golangci-lint into a vendor of the projects as a dependency. we do use dep instead of mod, that's why we could not move fwd with that - we can't downgrade x/tools dependency as all other libraries depend on the latest version.

@mwf
Copy link

mwf commented May 21, 2019

Hi guys!

We also hit this problem - @jirfag do you have any plans to make a release with this fix?
1.16.1 or 1.17.0 if you have new stuff in master?

@thepudds
Copy link

@jirfag @sitano @leonklingele Any quick thoughts on timing of a new release to resolve the golang.org/x/tools/go/packages issue?

Also, not sure of relationships between the different projects, but it would probably be good to avoid renaming go-consistent (github.com/Quasilyte/go-consistent vs. github.com/quasilyte/go-consistent) if possible (e.g., see quasilyte/go-consistent#34).

Finally, not 100% sure of the history here, so sorry in advance anything I say is off base.

CC @matloob @dmitshur @quasilyte

@jirfag jirfag reopened this Jun 9, 2019
@jirfag
Copy link
Member

jirfag commented Jun 9, 2019

Hi!
I can't update x/tools because of #558.

@jirfag
Copy link
Member

jirfag commented Jun 9, 2019

also, I've made the new release

@thepudds
Copy link

thepudds commented Jun 9, 2019

FWIW, for the new v1.17.0 release, doing a go get -u fails for me:

cd $(mktemp -d)
go mod init tempmod
go get -u github.com/golangci/golangci-lint@v1.17.0

which fails with error:

go: github.com/Quasilyte/go-consistent@v0.0.0-20190521200055-c6f3937de18c: parsing go.mod: unexpected module path "github.com/quasilyte/go-consistent"

Doing go get -u is fairly common, though removing the -u works:

cd $(mktemp -d)
go mod init tempmod
go get github.com/golangci/golangci-lint@v1.17.0

Some related discussion in #479 (comment) and quasilyte/go-consistent#34.

jirfag added a commit that referenced this issue Jun 10, 2019
This update should fix go get issues because of deps.

go-critic:
$ git cherry -v c3db6069acc5
+ fe28ac328f474c02e2383ca2bf44a606929a7048 checkers: add integration
tests with cgo for dupImports (#846)
+ 48a15b03b630252319474ba5ddc8455d2aebf34f checkers: fix fold-ranges
for floats in boolExprSimplify (#849)
+ 7bf73388643eb226addf2d5ed8a2c104be244b2e checkers: fix "Output:"
false positive in commentedOutCode (#852)
+ f6f702b31734df26415c2bd135f272d1a34d2973 checkers: extend
yodaStyleExpr supported ops list (#856)
+ 07bf84df361735ad1d90f84e79eb60c8386325c7 fix dependencies (#857)
+ 1df30086654074503eab008bdde4f3ce1921128d checkers: fix collection
URL (#860)

x/tools:
$ git cherry -v 685fecacd0a0 521d6ed310dd | fgrep -v internal/lsp
+ fe54fb35175bb1c0c175e2335e23d7fa90ca987a apidiff: represent a Report as a list of Changes
+ 15bbd99efc6f20619676dec93f914d12e5139e83 all: run go mod tidy
+ bb3b3ca95aec36bfc4a5cb10b58022e64aca735b go/packages: add some documentation for extractPackage
+ 4bf14f7f0668366a4275c6ef5e99bd8e807da1d3 internal/span: fix off-by-one in ToUTF16Column
+ cb2dda6eabdf9160e66ca7293897f984154a7f8b go/packages: deduplicate file parsing
+ 9e44c1c403071e0c2831952513e7b948587d94af go/internal/gccgoimporter: update package to match std lib version
+ 36563e24a2627da92566d43aa1c7a2dd895fc60d cmd/vet: verify potentially-recursive Stringers are actually Stringers
+ 31fd60d6bfdcfb2861856aa5b333bb135f6bbfd8 x/tools/go/packages/packagestest: fix GOPROXY file URLs for Windows
+ 2d660fb8a000e1c288dc2f2150401b364922ebe9 go/packages/packagestest: fix GOPROXY file URLs for Windows
+ 7af746645d5165109de0b5cb499980c22812dfc2 internal/span: fix another off-by-one in ToUTF16Column
+ 9d4d845e86f14303813298ede731a971dd65b593 cmd/goimports: add -format-only flag
+ 83df196e5764ed2415c28c1f39ba6cb3db747da0 internal/span: add a filename only print for spans
+ 5cec639030af3a6ada2732d9bfa1d3731ed55106 go/analysis: proposed fact enumeration API
+ 9cb3dcf692a103de0fd68c26f4f04183e0933f7c internal/span: update the offset if the end offset should be valid but is not
+ 2d16b83fe98cd1bed9e2ce9fdc86bd438d14aab7 go/vcs: ignore "mod" VCS type
+ 95299016986435f846545c27f956768ad3c3cb2f lostcancel: do not analyze cancel variable which defined outside current function scope
+ 8a42e17289ea392d63892321ce1f40bd07efcc9f compilebench: clean up different benchmark types
+ eeb76a0c47a3b97e99f330dc14174ef14777d2ba compilebench: factor running build tool commands
+ 60140f09094406e46618ef436a26dd8394983503 compilebench: add a linker benchmark
+ e31d36578abb3d202c4007c3747bf8ebb7c51011 compilebench: handle missing MemStats more gracefully
+ d996b19ee77cd9c8df974510f23b0696cedf1ca1 go/analysis/analysistest: fix word usage
+ 73554e0f78058c37e5421bc48273a72400172221 go/analysis/passes: fix bugs discovered in std
+ 35884eef200b5fc81c9044f644a8d9d911262488 cmd/vet: print help to stdout only
+ 45e43b2cb4facd370abb846ebf35575161849f3b go/packages/packagestest: fix MustCopyFileTree so that file fragments are always slash form
+ d81a07b7e58487eed036bf115fa834653590d6cd go/analysis/passes/bools: eliminate quadratic runtime, output
+ 2a413a02cc735933997fa1b467a7b27bc1b82567 godoc/static: let client use vet check returned by /compile endpoint
+ 4789ca9922f080dd3a8fc3c74df1c1306db2bb0b go/analysis/internal/analysisflags: call gob.Register on deleted analyzers
+ d1a3278ee74994e9aa609e9e711c616bba677d5d godoc/util: serve SVG files raw
+ 1da8801a9502f29f3f03edfc3149b947e6e1913c godoc: declare small victory over the punched card tyranny
+ 757ca719ca9689950c69081c10c5300fbb8e35db imports: rename to internal/imports
+ 0133cac3176f225883c5d817146de8633ed07ebc cmd/goimports: reuse cached state
+ 26647e34d3c04fd3eaef6fb824493b00af7b1b26 imports: allow nil Options in Process
@jirfag jirfag closed this as completed in 7274db7 Jun 10, 2019
@jirfag
Copy link
Member

jirfag commented Jun 10, 2019

I've updated go-critic to fix it

@jirfag
Copy link
Member

jirfag commented Jun 10, 2019

go get -v -u github.com/golangci/golangci-lint@v1.17.1 works ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants