mirror of
https://github.com/ivuorinen/gibidify.git
synced 2026-01-26 03:24:05 +00:00
fix: refactor Makefile to fix checkmake maxbodylength violations (#95)
This commit is contained in:
88
Makefile
88
Makefile
@@ -16,34 +16,7 @@ help:
|
|||||||
|
|
||||||
# Install required tools
|
# Install required tools
|
||||||
install-tools:
|
install-tools:
|
||||||
@echo "Installing golangci-lint..."
|
@./scripts/install-tools.sh
|
||||||
@go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
|
||||||
@echo "Installing gofumpt..."
|
|
||||||
@go install mvdan.cc/gofumpt@latest
|
|
||||||
@echo "Installing golines..."
|
|
||||||
@go install github.com/segmentio/golines@latest
|
|
||||||
@echo "Installing goimports..."
|
|
||||||
@go install golang.org/x/tools/cmd/goimports@latest
|
|
||||||
@echo "Installing staticcheck..."
|
|
||||||
@go install honnef.co/go/tools/cmd/staticcheck@latest
|
|
||||||
@echo "Installing gosec..."
|
|
||||||
@go install github.com/securego/gosec/v2/cmd/gosec@latest
|
|
||||||
@echo "Installing gocyclo..."
|
|
||||||
@go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
|
|
||||||
@echo "Installing revive..."
|
|
||||||
@go install github.com/mgechev/revive@latest
|
|
||||||
@echo "Installing checkmake..."
|
|
||||||
@go install github.com/checkmake/checkmake/cmd/checkmake@latest
|
|
||||||
@echo "Installing shellcheck..."
|
|
||||||
@go install github.com/koalaman/shellcheck/cmd/shellcheck@latest
|
|
||||||
@echo "Installing shfmt..."
|
|
||||||
@go install mvdan.cc/sh/v3/cmd/shfmt@latest
|
|
||||||
@echo "Installing yamllint (Go-based)..."
|
|
||||||
@go install github.com/excilsploft/yamllint@latest
|
|
||||||
@echo "Installing editorconfig-checker..."
|
|
||||||
@go install github.com/editorconfig-checker/editorconfig-checker/\
|
|
||||||
cmd/editorconfig-checker@latest
|
|
||||||
@echo "All tools installed successfully!"
|
|
||||||
|
|
||||||
# Run linters
|
# Run linters
|
||||||
lint:
|
lint:
|
||||||
@@ -51,40 +24,11 @@ lint:
|
|||||||
|
|
||||||
# Run linters with auto-fix
|
# Run linters with auto-fix
|
||||||
lint-fix:
|
lint-fix:
|
||||||
@echo "Running gofumpt..."
|
@./scripts/lint-fix.sh
|
||||||
@gofumpt -l -w .
|
|
||||||
@echo "Running golines..."
|
|
||||||
@golines -w -m 120 --base-formatter="gofumpt" --shorten-comments .
|
|
||||||
@echo "Running goimports..."
|
|
||||||
@goimports -w -local github.com/ivuorinen/gibidify .
|
|
||||||
@echo "Running go fmt..."
|
|
||||||
@go fmt ./...
|
|
||||||
@echo "Running go mod tidy..."
|
|
||||||
@go mod tidy
|
|
||||||
@echo "Running shfmt formatting..."
|
|
||||||
@shfmt -w -i 0 -ci .
|
|
||||||
@echo "Running golangci-lint with --fix..."
|
|
||||||
@golangci-lint run --fix ./...
|
|
||||||
@echo "Auto-fix completed. Running final lint check..."
|
|
||||||
@golangci-lint run ./...
|
|
||||||
@echo "Running revive..."
|
|
||||||
@revive -config revive.toml -formatter friendly ./...
|
|
||||||
@echo "Running checkmake..."
|
|
||||||
@checkmake --config=.checkmake Makefile
|
|
||||||
@echo "Running yamllint..."
|
|
||||||
@yamllint .
|
|
||||||
|
|
||||||
# Run linters with verbose output
|
# Run linters with verbose output
|
||||||
lint-verbose:
|
lint-verbose:
|
||||||
@echo "Running golangci-lint (verbose)..."
|
@./scripts/lint-verbose.sh
|
||||||
@golangci-lint run -v ./...
|
|
||||||
@echo "Running checkmake (verbose)..."
|
|
||||||
@checkmake --config=.checkmake \
|
|
||||||
--format="{{.Line}}:{{.Rule}}:{{.Violation}}" Makefile
|
|
||||||
@echo "Running shfmt check (verbose)..."
|
|
||||||
@shfmt -d .
|
|
||||||
@echo "Running yamllint (verbose)..."
|
|
||||||
@yamllint .
|
|
||||||
|
|
||||||
# Run tests
|
# Run tests
|
||||||
test:
|
test:
|
||||||
@@ -93,14 +37,7 @@ test:
|
|||||||
|
|
||||||
# Run tests with coverage output
|
# Run tests with coverage output
|
||||||
test-coverage:
|
test-coverage:
|
||||||
@echo "Running tests with coverage..."
|
@./scripts/test-coverage.sh
|
||||||
@go test -race -v -coverprofile=coverage.out -covermode=atomic ./...
|
|
||||||
@echo ""
|
|
||||||
@echo "Coverage summary:"
|
|
||||||
@go tool cover -func=coverage.out | grep total:
|
|
||||||
@echo ""
|
|
||||||
@echo "Full coverage report saved to: coverage.out"
|
|
||||||
@echo "To view HTML report, run: make coverage"
|
|
||||||
|
|
||||||
# Run tests with coverage
|
# Run tests with coverage
|
||||||
coverage:
|
coverage:
|
||||||
@@ -173,23 +110,10 @@ vuln-check:
|
|||||||
|
|
||||||
# Dependency management targets
|
# Dependency management targets
|
||||||
deps-check:
|
deps-check:
|
||||||
@echo "Checking for available dependency updates..."
|
@./scripts/deps-check.sh
|
||||||
@echo ""
|
|
||||||
@echo "Direct dependencies:"
|
|
||||||
@go list -u -m all | grep -v "indirect" | column -t
|
|
||||||
@echo ""
|
|
||||||
@echo "Note: Run 'make deps-update' to update all dependencies"
|
|
||||||
|
|
||||||
deps-update:
|
deps-update:
|
||||||
@echo "Updating all dependencies to latest versions..."
|
@./scripts/deps-update.sh
|
||||||
@go get -u ./...
|
|
||||||
@go mod tidy
|
|
||||||
@echo ""
|
|
||||||
@echo "Dependencies updated successfully!"
|
|
||||||
@echo "Running tests to verify compatibility..."
|
|
||||||
@go test ./...
|
|
||||||
@echo ""
|
|
||||||
@echo "Update complete. Run 'make lint-fix && make test' to verify."
|
|
||||||
|
|
||||||
deps-tidy:
|
deps-tidy:
|
||||||
@echo "Cleaning up dependencies..."
|
@echo "Cleaning up dependencies..."
|
||||||
|
|||||||
9
scripts/deps-check.sh
Executable file
9
scripts/deps-check.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Checking for available dependency updates..."
|
||||||
|
echo ""
|
||||||
|
echo "Direct dependencies:"
|
||||||
|
go list -u -m all | grep -v "indirect" | column -t
|
||||||
|
echo ""
|
||||||
|
echo "Note: Run 'make deps-update' to update all dependencies"
|
||||||
12
scripts/deps-update.sh
Executable file
12
scripts/deps-update.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Updating all dependencies to latest versions..."
|
||||||
|
go get -u ./...
|
||||||
|
go mod tidy
|
||||||
|
echo ""
|
||||||
|
echo "Dependencies updated successfully!"
|
||||||
|
echo "Running tests to verify compatibility..."
|
||||||
|
go test ./...
|
||||||
|
echo ""
|
||||||
|
echo "Update complete. Run 'make lint-fix && make test' to verify."
|
||||||
30
scripts/install-tools.sh
Executable file
30
scripts/install-tools.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Installing golangci-lint..."
|
||||||
|
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||||
|
echo "Installing gofumpt..."
|
||||||
|
go install mvdan.cc/gofumpt@latest
|
||||||
|
echo "Installing golines..."
|
||||||
|
go install github.com/segmentio/golines@latest
|
||||||
|
echo "Installing goimports..."
|
||||||
|
go install golang.org/x/tools/cmd/goimports@latest
|
||||||
|
echo "Installing staticcheck..."
|
||||||
|
go install honnef.co/go/tools/cmd/staticcheck@latest
|
||||||
|
echo "Installing gosec..."
|
||||||
|
go install github.com/securego/gosec/v2/cmd/gosec@latest
|
||||||
|
echo "Installing gocyclo..."
|
||||||
|
go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
|
||||||
|
echo "Installing revive..."
|
||||||
|
go install github.com/mgechev/revive@latest
|
||||||
|
echo "Installing checkmake..."
|
||||||
|
go install github.com/checkmake/checkmake/cmd/checkmake@latest
|
||||||
|
echo "Installing shellcheck..."
|
||||||
|
go install github.com/koalaman/shellcheck/cmd/shellcheck@latest
|
||||||
|
echo "Installing shfmt..."
|
||||||
|
go install mvdan.cc/sh/v3/cmd/shfmt@latest
|
||||||
|
echo "Installing yamllint (Go-based)..."
|
||||||
|
go install github.com/excilsploft/yamllint@latest
|
||||||
|
echo "Installing editorconfig-checker..."
|
||||||
|
go install github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@latest
|
||||||
|
echo "All tools installed successfully!"
|
||||||
25
scripts/lint-fix.sh
Executable file
25
scripts/lint-fix.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Running gofumpt..."
|
||||||
|
gofumpt -l -w .
|
||||||
|
echo "Running golines..."
|
||||||
|
golines -w -m 120 --base-formatter="gofumpt" --shorten-comments .
|
||||||
|
echo "Running goimports..."
|
||||||
|
goimports -w -local github.com/ivuorinen/gibidify .
|
||||||
|
echo "Running go fmt..."
|
||||||
|
go fmt ./...
|
||||||
|
echo "Running go mod tidy..."
|
||||||
|
go mod tidy
|
||||||
|
echo "Running shfmt formatting..."
|
||||||
|
shfmt -w -i 0 -ci .
|
||||||
|
echo "Running golangci-lint with --fix..."
|
||||||
|
golangci-lint run --fix ./...
|
||||||
|
echo "Auto-fix completed. Running final lint check..."
|
||||||
|
golangci-lint run ./...
|
||||||
|
echo "Running revive..."
|
||||||
|
revive -config revive.toml -formatter friendly ./...
|
||||||
|
echo "Running checkmake..."
|
||||||
|
checkmake --config=.checkmake Makefile
|
||||||
|
echo "Running yamllint..."
|
||||||
|
yamllint .
|
||||||
11
scripts/lint-verbose.sh
Executable file
11
scripts/lint-verbose.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Running golangci-lint (verbose)..."
|
||||||
|
golangci-lint run -v ./...
|
||||||
|
echo "Running checkmake (verbose)..."
|
||||||
|
checkmake --config=.checkmake --format="{{.Line}}:{{.Rule}}:{{.Violation}}" Makefile
|
||||||
|
echo "Running shfmt check (verbose)..."
|
||||||
|
shfmt -d .
|
||||||
|
echo "Running yamllint (verbose)..."
|
||||||
|
yamllint .
|
||||||
11
scripts/test-coverage.sh
Executable file
11
scripts/test-coverage.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Running tests with coverage..."
|
||||||
|
go test -race -v -coverprofile=coverage.out -covermode=atomic ./...
|
||||||
|
echo ""
|
||||||
|
echo "Coverage summary:"
|
||||||
|
go tool cover -func=coverage.out | grep total:
|
||||||
|
echo ""
|
||||||
|
echo "Full coverage report saved to: coverage.out"
|
||||||
|
echo "To view HTML report, run: make coverage"
|
||||||
Reference in New Issue
Block a user