Skip to content

Commit 276ffb7

Browse files
Merge pull request #233 from sapcc/install-goimports
2 parents e6fa893 + c32196c commit 276ffb7

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ default: build-all
2020
run: build/go-makefile-maker
2121
./build/go-makefile-maker
2222

23+
install-goimports: FORCE
24+
@if ! hash goimports 2>/dev/null; then printf "\e[1;36m>> Installing goimports (this may take a while)...\e[0m\n"; go install golang.org/x/tools/cmd/goimports@latest; fi
25+
2326
install-golangci-lint: FORCE
2427
@if ! hash golangci-lint 2>/dev/null; then printf "\e[1;36m>> Installing golangci-lint (this may take a while)...\e[0m\n"; go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest; fi
2528

@@ -110,7 +113,7 @@ check-dependency-licenses: FORCE install-go-licence-detector
110113
@printf "\e[1;36m>> go-licence-detector\e[0m\n"
111114
@go list -m -mod=readonly -json all | go-licence-detector -includeIndirect -rules .license-scan-rules.json -overrides .license-scan-overrides.jsonl
112115

113-
goimports: FORCE
116+
goimports: FORCE install-goimports
114117
@printf "\e[1;36m>> goimports -w -local https://github.com/sapcc/go-makefile-maker\e[0m\n"
115118
@goimports -w -local github.com/sapcc/go-makefile-maker $(patsubst $(shell awk '$$1 == "module" {print $$2}' go.mod)%,.%/*.go,$(shell go list ./...))
116119

@@ -136,6 +139,7 @@ help: FORCE
136139
@printf " \e[36mhelp\e[0m Display this help.\n"
137140
@printf "\n"
138141
@printf "\e[1mPrepare\e[0m\n"
142+
@printf " \e[36minstall-goimports\e[0m Install goimports required by goimports/static-check\n"
139143
@printf " \e[36minstall-golangci-lint\e[0m Install golangci-lint required by run-golangci-lint/static-check\n"
140144
@printf " \e[36minstall-go-licence-detector\e[0m Install-go-licence-detector required by check-dependency-licenses/static-check\n"
141145
@printf " \e[36minstall-addlicense\e[0m Install addlicense required by check-license-headers/license-headers/static-check\n"

internal/makefile/makefile.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ endif
7777

7878
var prepareStaticRecipe []string
7979
if isGolang {
80+
prepare.addRule(rule{
81+
description: "Install goimports required by goimports/static-check",
82+
phony: true,
83+
target: "install-goimports",
84+
recipe: []string{
85+
`@if ! hash goimports 2>/dev/null; then` +
86+
` printf "\e[1;36m>> Installing goimports (this may take a while)...\e[0m\n";` +
87+
` go install golang.org/x/tools/cmd/goimports@latest; fi`,
88+
},
89+
})
8090
prepare.addRule(rule{
8191
description: "Install golangci-lint required by run-golangci-lint/static-check",
8292
phony: true,
@@ -438,21 +448,20 @@ endif
438448

439449
if isGolang {
440450
reuseConfigFile := "REUSE.toml"
441-
must.Succeed(os.WriteFile(reuseConfigFile, reuseConfig, 0666))
451+
must.Succeed(os.WriteFile(reuseConfigFile, reuseConfig, 0o666))
442452

443453
licenseRulesFile := ".license-scan-rules.json"
444-
must.Succeed(os.WriteFile(licenseRulesFile, licenseRules, 0666))
454+
must.Succeed(os.WriteFile(licenseRulesFile, licenseRules, 0o666))
445455

446456
scanOverridesFile := ".license-scan-overrides.jsonl"
447-
must.Succeed(os.WriteFile(scanOverridesFile, scanOverrides, 0666))
457+
must.Succeed(os.WriteFile(scanOverridesFile, scanOverrides, 0o666))
448458

449459
dev.addRule(rule{
450460
description: "Check all dependency licenses using go-licence-detector.",
451461
target: "check-dependency-licenses",
452462
phony: true,
453463
prerequisites: []string{"install-go-licence-detector"},
454464
recipe: []string{
455-
456465
`@printf "\e[1;36m>> go-licence-detector\e[0m\n"`,
457466
fmt.Sprintf(`@go list -m -mod=readonly -json all | go-licence-detector -includeIndirect -rules %s -overrides %s`,
458467
licenseRulesFile, scanOverridesFile),
@@ -475,9 +484,10 @@ endif
475484
})
476485

477486
dev.addRule(rule{
478-
description: "Run goimports on all non-vendored .go files",
479-
target: "goimports",
480-
phony: true,
487+
description: "Run goimports on all non-vendored .go files",
488+
phony: true,
489+
target: "goimports",
490+
prerequisites: []string{"install-goimports"},
481491
recipe: []string{
482492
fmt.Sprintf(`@printf "\e[1;36m>> goimports -w -local %s\e[0m\n"`, cfg.Metadata.URL),
483493
fmt.Sprintf(`@goimports -w -local %s %s`, sr.ModulePath, allSourceFilesExpr),

0 commit comments

Comments
 (0)