diff options
| author | Shulhan <ms@kilabit.info> | 2025-02-03 21:36:10 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2025-02-03 21:40:14 +0700 |
| commit | a1635783753af6318ff192c1b41c16bb3f7fc76b (patch) | |
| tree | 02511e9615ac5c7a6c06958dc3f331ba07b7b413 | |
| parent | 206fc899a4b90c85d3a0906eb4d13e9177082fbb (diff) | |
| download | gotp-a1635783753af6318ff192c1b41c16bb3f7fc76b.tar.xz | |
all: replace external linters with internal command
The fieldalignment and shadow linters are from golang.org/x/tools.
Those linters have an exposed APIs that can be combined into single
call or program, which provided by "pakakeh.go/lib/goanalysis".
This help reduce the tooling need to be installed or setup for
development.
| -rw-r--r-- | Makefile | 9 | ||||
| -rw-r--r-- | go.mod | 3 | ||||
| -rw-r--r-- | go.sum | 8 | ||||
| -rw-r--r-- | internal/cmd/gocheck/main.go | 17 |
4 files changed, 33 insertions, 4 deletions
@@ -1,8 +1,7 @@ ## SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info> ## SPDX-License-Identifier: GPL-3.0-or-later -.PHONY: all test build install serve-doc - +.PHONY: all all: test lint build test: @@ -11,14 +10,15 @@ test: .PHONY: lint lint: - -fieldalignment ./... - -shadow ./... + go run ./internal/cmd/gocheck ./... go vet ./... +.PHONY: build build: mkdir -p _sys/usr/bin/ go build -o _sys/usr/bin/ ./cmd/... +.PHONY: install install: build install -D _sys/usr/bin/gotp $(DESTDIR)/usr/bin/gotp install -Dm644 \ @@ -35,6 +35,7 @@ install-darwin: build $(DESTDIR)/etc/bash_completion.d/gotp install -Dm644 COPYING $(DESTDIR)/share/gotp/COPYING +.PHONY: serve-doc serve-doc: ciigo serve _doc @@ -10,8 +10,11 @@ require git.sr.ht/~shulhan/pakakeh.go v0.60.0 require ( golang.org/x/crypto v0.32.0 // indirect golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect + golang.org/x/mod v0.22.0 // indirect + golang.org/x/sync v0.10.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/term v0.28.0 // indirect + golang.org/x/tools v0.29.0 // indirect ) //replace git.sr.ht/~shulhan/pakakeh.go => ../pakakeh.go @@ -1,12 +1,20 @@ git.sr.ht/~shulhan/pakakeh.go v0.60.0 h1:Kf7PTW7uH2TachVY5hMNyt/ZhS9n+VVp9YiQEsZXyVk= git.sr.ht/~shulhan/pakakeh.go v0.60.0/go.mod h1:PJkRrsHnnnyL5BsvT9Ot52/S3ScNchlAnpOrON1cZT8= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c h1:KL/ZBHXgKGVmuZBZ01Lt57yE5ws8ZPSkkihmEyq7FXc= golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= 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/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= 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/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= diff --git a/internal/cmd/gocheck/main.go b/internal/cmd/gocheck/main.go new file mode 100644 index 0000000..cb9d378 --- /dev/null +++ b/internal/cmd/gocheck/main.go @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info> +// +// SPDX-License-Identifier: BSD-3-Clause + +// 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() +} |
