stop being lazy. never make directories in go libraries

This commit is contained in:
Jeff Carr 2024-12-01 17:57:07 -06:00
parent 6b42d07949
commit 390bbae435
6 changed files with 0 additions and 286 deletions

View File

@ -1,23 +0,0 @@
VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d)
build:
GO111MODULE=off go build \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
FORGE_HOME=/tmp/forge ./scanGoSrc
install:
GO111MODULE=off go install \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
goimports:
goimports -w *.go
prep:
go get -v -t -u
run:
go run *.go
clean:
-rm -f scanGoSrc

View File

@ -1,50 +0,0 @@
package main
import (
"os"
"go.wit.com/dev/alexflint/arg"
)
var argv args
type args struct {
ConfigDir string `arg:"env:FORGE_HOME" help:"defaults to ~/.config/forge/"`
List bool `arg:"--list" default:"false" help:"list repos in your config"`
Add bool `arg:"--add" default:"false" help:"add a new repo"`
Delete bool `arg:"--delete" default:"false" help:"delete a repo"`
Update bool `arg:"--update" default:"false" help:"update a repo"`
GoPath string `arg:"--gopath" help:"gopath of the repo"`
Directory bool `arg:"--directory" default:"false" help:"repo is a directory to match against"`
ReadOnly bool `arg:"--readonly" default:"false" help:"repo is readonly"`
Writable bool `arg:"--writable" default:"false" help:"repo is writable"`
Favorite bool `arg:"--favorite" default:"false" help:"forge will always go-clone or git clone this"`
Private bool `arg:"--private" default:"false" help:"repo can not be published"`
Interesting bool `arg:"--interesting" default:"false" help:"something you decided was cool"`
}
func (a args) Description() string {
return `
forgeConfig -- add entries to your config files
This is just example protobuf code to test forgepb is working
but it could be used to automagically create a config file too.
If you need to change your config file, just edit the forge.text or forge.json
files then remove the forge.pb and ConfigLoad() will attempt to load those files instead
`
}
func (args) Version() string {
return "virtigo " + VERSION
}
func init() {
var pp *arg.Parser
pp = arg.MustParse(&argv)
if pp == nil {
pp.WriteHelp(os.Stdout)
os.Exit(0)
}
}

View File

@ -1,54 +0,0 @@
package main
import (
"os"
"go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
)
// sent via ldflags
var VERSION string
func main() {
var repos *gitpb.Repos
repos = new(gitpb.Repos)
newr, err := repos.NewGoPath("/home/jcarr/go/src", "go.wit.com/apps/wit-package")
if err != nil {
log.Info("init failed", err)
panic("crapnuts")
} else {
log.Info("init worked for", newr.GoPath)
}
newr, err = repos.NewGoPath("/home/jcarr/go/src", "go.wit.com/apps/notathing")
if err != nil {
log.Info("init failed correctly:", err)
} else {
log.Info("init should have failed for", newr.GoPath)
panic("crapnuts")
}
/*
log.Info(forgepb.RepoHeader())
loop := repos.SortByPath() // get the list of repos
for loop.Scan() {
r := loop.Repo()
log.Info("repo:", r.GoPath)
}
*/
/*
log.Info("going to add a new repo", argv.GoPath)
new1 := forgepb.Repo{
GoPath: argv.GoPath,
Writable: argv.Writable,
ReadOnly: argv.ReadOnly,
Private: argv.Private,
Directory: argv.Directory,
Favorite: argv.Favorite,
Interesting: argv.Interesting,
}
*/
os.Exit(0)
}

View File

@ -1,20 +0,0 @@
VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d)
build:
reset
GO111MODULE=off go build \
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
./validate --repo go.wit.com/apps/wit-package
goimports:
goimports -w *.go
prep:
go get -v -t -u
run:
go run *.go
clean:
-rm -f scanGoSrc

View File

@ -1,42 +0,0 @@
package main
import (
"os"
"go.wit.com/dev/alexflint/arg"
)
var argv args
type args struct {
Repo string `arg:"--repo" help:"repo to check"`
List bool `arg:"--list" default:"false" help:"list repos in your config"`
SaveConfig bool `arg:"--save" default:"false" help:"save your config file at the end"`
Interesting bool `arg:"--interesting" default:"false" help:"something you decided was cool"`
}
func (a args) Description() string {
return `
forgeConfig -- add entries to your config files
This is just example protobuf code to test forgepb is working
but it could be used to automagically create a config file too.
If you need to change your config file, just edit the forge.text or forge.json
files then remove the forge.pb and ConfigLoad() will attempt to load those files instead
`
}
func (args) Version() string {
return "virtigo " + VERSION
}
func init() {
var pp *arg.Parser
pp = arg.MustParse(&argv)
if pp == nil {
pp.WriteHelp(os.Stdout)
os.Exit(0)
}
}

View File

@ -1,97 +0,0 @@
package main
import (
"fmt"
"os"
"go.wit.com/dev/alexflint/arg"
"go.wit.com/gui"
"go.wit.com/lib/gui/repolist"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
)
// sent via ldflags
var VERSION string
var pp *arg.Parser
var forge *forgepb.Forge
var myGui *gui.Node
var rv *repolist.RepoList
var argvRepo *gitpb.Repo
func main() {
pp = arg.MustParse(&argv)
// load the ~/.config/forge/ config
forge = forgepb.Init()
// forge.ConfigPrintTable()
os.Setenv("REPO_WORK_PATH", forge.GetGoSrc())
myGui = gui.New()
myGui.Default()
repos := forge.Repos.SortByGoPath()
for repos.Scan() {
repo := repos.Next()
if ! repo.IsValid() {
continue
}
// forge.VerifyBranchNames(repo)
fullpath := repo.GetFullPath()
mName := repo.GetMasterBranchName()
dName := repo.GetDevelBranchName()
uName := repo.GetUserBranchName()
dlen := repo.GoDepsLen()
plen := repo.PublishedLen()
var ds, ps string
if dlen == 0 {
ds = " "
} else {
ds = fmt.Sprintf("%2d", dlen)
}
if plen == 0 {
ps = " "
} else {
ps = fmt.Sprintf("%2d", plen)
}
log.Printf("repo: %-60s %-10s %-8s %-8s %s %s %s\n", fullpath, mName, dName, uName, ds, ps, repo.RepoType())
/*
if repo.GoDepsChanged() {
log.Printf("\tdependancy checks indicate a new release is needed for %s\n", repo.GetGoPath())
} else {
log.Printf("\tdependancies have not changed for %s\n", repo.GetGoPath())
}
*/
}
if argv.Repo == "" {
log.Info("no --repo")
os.Exit(-1)
}
check := forge.Repos.FindByGoPath(argv.Repo)
if check == nil {
log.Info("boo, you didn't git check", argv.Repo)
os.Exit(-1)
}
check.RedoGoMod()
match, err := forge.Repos.GoDepsChanged(check)
if err != nil {
log.Info("dependancy checks failed", check.GetGoPath(), err)
os.Exit(-1)
}
if match {
log.Printf("dependancy checks indicate a new release is needed for %s\n", check.GetGoPath())
} else {
log.Printf("dependancies have not changed for %s\n", check.GetGoPath())
}
if argv.SaveConfig {
forge.Repos.ConfigSave()
}
os.Exit(0)
}