diff options
| author | Shulhan <ms@kilabit.info> | 2025-02-01 09:43:49 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2025-02-01 09:43:49 +0700 |
| commit | 3453ab4a27367677de29e98d190da7f752aed5ed (patch) | |
| tree | d284370103d7cad5827d4d0ea1b8a6d5e2df1d44 | |
| parent | 3fbbf969aa646d07d26e8d3c0f9a01aff52491a3 (diff) | |
| download | ciigo-3453ab4a27367677de29e98d190da7f752aed5ed.tar.xz | |
all: replace external linters with internal linter
The fieldalignment and shadow is linter from golang.org/x/tools.
This linters actually have an API that can be combined into a program,
which provided by package "pakakeh.go/lib/goanalysis".
| -rw-r--r-- | Makefile | 16 | ||||
| -rw-r--r-- | go.mod | 3 | ||||
| -rw-r--r-- | go.sum | 8 | ||||
| -rw-r--r-- | internal/cmd/gocheck/main.go | 17 |
4 files changed, 38 insertions, 6 deletions
@@ -1,44 +1,48 @@ ## SPDX-FileCopyrightText: 2019 Shulhan <ms@kilabit.info> ## SPDX-License-Identifier: GPL-3.0-or-later -.PHONY: all lint test install build serve-doc - VERSION:=$(shell git describe --tags) LDFLAGS:=-ldflags "-s -w -X 'git.sr.ht/~shulhan/ciigo.Version=$(VERSION)'" DIR_BUILD:=_bin +.PHONY: all all: lint build test +.PHONY: lint lint: - -fieldalignment ./... - -shadow ./... + go run ./internal/cmd/gocheck ./... go vet ./... +.PHONY: test test: find ./testdata -name "*.html" -delete CGO_ENABLED=1 go test -failfast -v -race -p=1 -coverprofile=cover.out ./... go tool cover -html=cover.out -o cover.html +.PHONY: install install: build mv _bin/ciigo $(GOBIN) +.PHONY: run-example run-example: go run ./internal/cmd/ciigo-example +.PHONY: build build: mkdir -p $(DIR_BUILD) CGO_ENABLED=0 go build $(LDFLAGS) -o $(DIR_BUILD) ./cmd/... +.PHONY: serve-doc serve-doc: go run ./cmd/ciigo -address=127.0.0.1:20757 serve _doc -.PHONY: chroot-setup chroot-test - +.PHONY: chroot-setup chroot-setup: sudo mkdir -p /var/lib/machines/arch.test sudo pacstrap -c /var/lib/machines/arch.test base-devel systemd go sudo mkdir /var/lib/machines/arch.test/root/ciigo +.PHONY: chroot-test chroot-test: sudo rsync -r . /var/lib/machines/arch.test/root/ciigo/ sudo systemd-nspawn --bind=/tmp \ @@ -14,8 +14,11 @@ require ( require ( golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect + golang.org/x/mod v0.22.0 // indirect golang.org/x/net v0.34.0 // indirect + golang.org/x/sync v0.10.0 // indirect golang.org/x/sys v0.29.0 // indirect + golang.org/x/tools v0.29.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) @@ -2,16 +2,24 @@ git.sr.ht/~shulhan/asciidoctor-go v0.6.2 h1:LCMSlHzsAMbEyruQW/2QYuiUqYru8bplcDqO git.sr.ht/~shulhan/asciidoctor-go v0.6.2/go.mod h1:7tX6GBgmTWUpGlwBYZK7yTC/u4KAiGsKkzeTbOnVfZk= 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= github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic= github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc= github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0= 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/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= 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() +} |
