rename as go-mod-clean

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-12-12 18:59:16 -06:00
parent c0f80bc42e
commit c3e3dfd209
5 changed files with 22 additions and 22 deletions

View File

@ -2,24 +2,24 @@ VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d_%H%M) BUILDTIME = $(shell date +%Y.%m.%d_%H%M)
run: goimports install run: goimports install
go-clean --version go-mod-clean --version
vet: vet:
@GO111MODULE=off go vet @GO111MODULE=off go vet
@echo this go binary package builds okay @echo this go binary package builds okay
no-gui: build no-gui: build
./go-clean --no-gui ./go-mod-clean --no-gui
build: goimports build: goimports
GO111MODULE=off go build -v \ GO111MODULE=off go build -v \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}" -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
build-darwin: build-darwin:
GOOS=darwin GOARCH=amd64 GO111MODULE=off go build -v -o go-clean-darwin \ GOOS=darwin GOARCH=amd64 GO111MODULE=off go build -v -o go-mod-clean-darwin \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}" -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
build-windows: build-windows:
GOOS=windows GOARCH=amd64 GO111MODULE=off go build -v go-clean.exe \ GOOS=windows GOARCH=amd64 GO111MODULE=off go build -v go-mod-clean.exe \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}" -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
install: install:
@ -33,4 +33,4 @@ goimports:
# // gofmt -w -r "go.wit.com/gui -> go.wit.com/gui/gui" . # // gofmt -w -r "go.wit.com/gui -> go.wit.com/gui/gui" .
clean: clean:
-rm go-clean -rm -f go-mod-clean go.*

View File

@ -1,20 +1,20 @@
# go-clean # go-mod-clean
This is a hack to experiement with trimming unused entries from the go.sum files. This is a hack to experiement with trimming unused entries from the go.sum files.
Since go.sum files need to be recursively processed, this attempts to remove Since go.sum files need to be recursively processed, this attempts to remove
unused entries. There are all sorts of real world reasons on why this unused entries. There are all sorts of real world reasons on why this
needs to be done sometimes. needs to be done sometimes.
* go-clean tries to remove uneeded entries from the go.sum file. * go-mod-clean tries to remove uneeded entries from the go.sum file.
* You must run go-clean in ~/go/src for this to work. * You must run go-mod-clean in ~/go/src for this to work.
# Install go-clean # Install go-mod-clean
go install go.wit.com/apps/go-clean@latest go install go.wit.com/apps/go-mod-clean@latest
# How it works # How it works
go-clean is very simple. It will run 'go build' with GO111MODULE=off. In this mode, go-mod-clean is very simple. It will run 'go build' with GO111MODULE=off. In this mode,
go will compile directly based on the 'import' paths. It simply parses the errors go will compile directly based on the 'import' paths. It simply parses the errors
from 'go build' and makes sure the appropriate entries are in the go.sum file. from 'go build' and makes sure the appropriate entries are in the go.sum file.

View File

@ -12,12 +12,12 @@ type args struct {
} }
func (args) Version() string { func (args) Version() string {
return "go-clean " + VERSION + " Built on " + BUILDTIME return "go-mod-clean " + VERSION + " Built on " + BUILDTIME
} }
func (a args) Description() string { func (a args) Description() string {
return ` return `
go-clean will try to verify your go.* files are using the newest package versions go-mod-clean will try to verify your go.* files are using the newest package versions
* Recreate go.* with 'go mod init' and 'go mod tidy' * Recreate go.* with 'go mod init' and 'go mod tidy'
* Check that the most recent master branch versions are used * Check that the most recent master branch versions are used

View File

@ -1,6 +1,6 @@
Source: go-clean Source: go-mod-clean
Build-Depends: golang, protoc-gen-go, autogenpb, golang-golang-x-tools Build-Depends: golang, protoc-gen-go, autogenpb, golang-golang-x-tools
Package: go-clean Package: go-mod-clean
Maintainer: Jeff Carr <jcarr@wit.com> Maintainer: Jeff Carr <jcarr@wit.com>
Architecture: amd64 Architecture: amd64
Depends: Depends:

14
main.go
View File

@ -20,7 +20,7 @@ var forge *forgepb.Forge
var check *gitpb.Repo var check *gitpb.Repo
func main() { func main() {
log.Info("go-clean version", VERSION, "built on", BUILDTIME) log.Info("go-mod-clean version", VERSION, "built on", BUILDTIME)
pp = arg.MustParse(&argv) pp = arg.MustParse(&argv)
// load the ~/.config/forge/ config // load the ~/.config/forge/ config
@ -35,18 +35,18 @@ func main() {
log.Info("this directory isn't in a golang project (not in ~/go/src nor a go.work file)") log.Info("this directory isn't in a golang project (not in ~/go/src nor a go.work file)")
os.Exit(-1) os.Exit(-1)
} }
log.Info("starting go-clean for", check.GoPath) log.Info("starting go-mod-clean for", check.GoPath)
log.Info("go src dir is set to", forge.GetGoSrc()) log.Info("go src dir is set to", forge.GetGoSrc())
if argv.Recursive { if argv.Recursive {
if forge.IsGoWork() { if forge.IsGoWork() {
var warning []string var warning []string
warning = append(warning, "go-clean --recursive may not work unless you are in ~/go/src") warning = append(warning, "go-mod-clean --recursive may not work unless you are in ~/go/src")
warning = append(warning, "you can continue anyway, but it hasn't been tested as much.") warning = append(warning, "you can continue anyway, but it hasn't been tested as much.")
simpleStdin(true, warning) simpleStdin(true, warning)
} }
var warning []string var warning []string
warning = append(warning, "go-clean will recreate go.mod and go.sum") warning = append(warning, "go-mod-clean will recreate go.mod and go.sum")
warning = append(warning, "because you have selected --recursive") warning = append(warning, "because you have selected --recursive")
warning = append(warning, "this will redo _every_ repo. This is probably fine.") warning = append(warning, "this will redo _every_ repo. This is probably fine.")
warning = append(warning, fmt.Sprintf("You have %d total repositories in %s", forge.Repos.Len(), forge.GetGoSrc())) warning = append(warning, fmt.Sprintf("You have %d total repositories in %s", forge.Repos.Len(), forge.GetGoSrc()))
@ -61,7 +61,7 @@ func main() {
simpleStdin(false, warning) simpleStdin(false, warning)
// purgeGoCaches() // purgeGoCaches()
} else { } else {
simpleStdin(true, []string{"go-clean will recreate go.mod and go.sum"}) simpleStdin(true, []string{"go-mod-clean will recreate go.mod and go.sum"})
} }
// re-create go.sum and go.mod // re-create go.sum and go.mod
@ -104,11 +104,11 @@ func findPwdRepo() *gitpb.Repo {
func okExit(thing string) { func okExit(thing string) {
log.Info(thing, "ok") log.Info(thing, "ok")
log.Info("Finished go-clean on", check.GetGoPath(), "ok") log.Info("Finished go-mod-clean on", check.GetGoPath(), "ok")
os.Exit(0) os.Exit(0)
} }
func badExit(err error) { func badExit(err error) {
log.Info("go-clean failed: ", err, forge.GetGoSrc()) log.Info("go-mod-clean failed: ", err, forge.GetGoSrc())
os.Exit(-1) os.Exit(-1)
} }