From 4654d45c96f86133bc0258d67c919dea7884fc46 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Mon, 29 Dec 2025 14:14:29 +0700 Subject: make: replace external linter with gocheck The fieldalignment and shadow is a linter from golang.org/x/tools. This program actually have an API that can be used. The pakakeh.go/lib/goanalysis wrap those APIs into a single function call that can be run inside a main. This minimize and simplified our tools dependencies. --- Makefile | 3 +-- go.mod | 13 ++++++++----- go.sum | 24 ++++++++++++++++-------- internal/cmd/gocheck/main.go | 16 ++++++++++++++++ 4 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 internal/cmd/gocheck/main.go diff --git a/Makefile b/Makefile index c2df6ed..64b5455 100644 --- a/Makefile +++ b/Makefile @@ -35,8 +35,7 @@ test-integration: ##---- lint: - -fieldalignment ./... - -shadow ./... + go run ./internal/cmd/gocheck ./... go vet ./... install: diff --git a/go.mod b/go.mod index 03aa30b..c078b95 100644 --- a/go.mod +++ b/go.mod @@ -1,16 +1,19 @@ module git.sr.ht/~shulhan/haminer -go 1.23.4 +go 1.24.0 require ( - git.sr.ht/~shulhan/pakakeh.go v0.59.0 + git.sr.ht/~shulhan/pakakeh.go v0.60.2 github.com/lib/pq v1.10.9 ) require ( - golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect - golang.org/x/net v0.34.0 // indirect - golang.org/x/sys v0.29.0 // indirect + golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect + golang.org/x/mod v0.31.0 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/tools v0.40.0 // indirect ) //replace git.sr.ht/~shulhan/pakakeh.go => ../pakakeh.go diff --git a/go.sum b/go.sum index 2bfc7d1..0f4469e 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,18 @@ -git.sr.ht/~shulhan/pakakeh.go v0.59.0 h1:haUyuusXQ0YVgHbbhi46Nkl/CEPhRe+cIJz22kQFGuM= -git.sr.ht/~shulhan/pakakeh.go v0.59.0/go.mod h1:UsrvzhSUJZpm1Aub99RI/XwtNnbBlJmaNoWWd9++VyI= +git.sr.ht/~shulhan/pakakeh.go v0.60.2 h1:ZSRE77lYm+mkhvg9pSrxCIO81ydbqt93qbsWuZJpjtI= +git.sr.ht/~shulhan/pakakeh.go v0.60.2/go.mod h1:1MkKXbLZRHTcnheeSEbRpGztkym4Yxzh90ep+jCxbDc= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= -golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= +golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= diff --git a/internal/cmd/gocheck/main.go b/internal/cmd/gocheck/main.go new file mode 100644 index 0000000..112c08a --- /dev/null +++ b/internal/cmd/gocheck/main.go @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +// SPDX-FileCopyrightText: 2024 M. Shulhan + +// Program gocheck implement go static analysis using [Analyzer] that are not +// included in the default go vet. +// See package [lib/goanalysis] for more information. +// +// [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer +// [lib/goanalysis]: https://pkg.go.dev/git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis/ +package main + +import "git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis" + +func main() { + goanalysis.Check() +} -- cgit v1.3