summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-11 14:21:09 -0500
committerJeff Carr <[email protected]>2025-09-11 14:21:09 -0500
commitb05b706d8b48a51275a8dc0c90cd8fafc74d61d1 (patch)
tree489a39cafeda829ac3a97a26a8c599f07ef0a343
parentfd199a4404f7675935660c6975ac25ba6c84aba1 (diff)
raw gitpb Repo() scan
-rw-r--r--Makefile10
-rw-r--r--argv.go1
-rw-r--r--buildPackage.go28
-rw-r--r--exit.go4
-rw-r--r--main.go33
-rw-r--r--structs.go2
6 files changed, 28 insertions, 50 deletions
diff --git a/Makefile b/Makefile
index 177854c..3916f25 100644
--- a/Makefile
+++ b/Makefile
@@ -4,10 +4,9 @@ VERSION = $(shell git describe --tags)
DATE = $(shell date +%Y.%m.%d)
run: clean goimports vet install
- go-deb --release --forge go.wit.com/apps/autogenpb --dir /tmp/
- go-deb --release --forge go.wit.com/apps/go-mod-clean --dir /tmp/
- @#go-deb --forge go.wit.com/apps/autotypist
- ls -lth /tmp/*deb
+ #go-deb --release go.wit.com/apps/go-mod-clean --dir /tmp/
+ #go-deb go.wit.com/apps/autotypist
+ #ls -lth /tmp/*deb
vet:
@GO111MODULE=off go vet
@@ -66,3 +65,6 @@ build-release:
debian: build
./go-deb --keep-files --repo go.wit.com/apps/go-deb
+
+test2:
+ go-deb go.wit.com/apps/utils/go-gui-toolkits --dir /tmp
diff --git a/argv.go b/argv.go
index ea8bb4d..5a308c7 100644
--- a/argv.go
+++ b/argv.go
@@ -16,7 +16,6 @@ type args struct {
Show *EmptyCmd `arg:"subcommand:show" help:"show what would be done"`
Gui *EmptyCmd `arg:"subcommand:gui" help:"open the gui"`
Ldflags []string `arg:"--ldflags" help:"flags to pass to go build"`
- Forge string `arg:"--forge" help:"use a git repo from forge"`
OutDir string `arg:"--dir" help:"write .deb file into this directory"`
Release bool `arg:"--release" help:"build a release from the last git tag"`
KeepFiles bool `arg:"--keep-files" help:"keep the build files/"`
diff --git a/buildPackage.go b/buildPackage.go
index 9c5bdfa..1ed710c 100644
--- a/buildPackage.go
+++ b/buildPackage.go
@@ -65,41 +65,33 @@ func buildPackage(c *controlBox) (bool, error) {
return false, errors.New("binary existed before build")
}
- /*
- forgecmd := "forge"
- if argv.Forge == "go.wit.com/apps/forge" {
- forgecmd = "last.forge"
- }
- */
-
if argv.Release {
os.Unsetenv("GO111MODULE")
- // cmd := []string{forgecmd, "--verbose", "--install", argv.Forge}
cmd := []string{"go"}
cmd = append(cmd, "install")
if argv.Verbose {
cmd = append(cmd, "-v")
cmd = append(cmd, "-x")
}
- cmd = append(cmd, argv.Forge+"@v"+version)
- if err := shell.PathExecVerbose("", cmd); err != nil {
- badExit(err)
- return false, fmt.Errorf("go build err %v", err)
- }
- // must 'go install' then 'go build' so they are both in ~/go/src and in the repo dir
- // cmd = []string{forgecmd, "--verbose", "--build", argv.Forge}
+ /*
+ cmd = append(cmd, "some path"+"@v"+version)
+ if err := shell.PathExecVerbose("", cmd); err != nil {
+ badExit(err)
+ return false, fmt.Errorf("go build err %v", err)
+ }
+ */
cmd = []string{"go"}
cmd = append(cmd, "build")
if argv.Verbose {
cmd = append(cmd, "-v")
cmd = append(cmd, "-x")
}
- cmd = append(cmd, argv.Forge)
+ cmd = append(cmd, "this should be the path")
if err := shell.PathExecVerbose("", cmd); err != nil {
badExit(err)
return false, fmt.Errorf("go build err %v", err)
}
- log.Warn("forge build worked")
+ log.Warn("build worked")
} else {
// set the GO111 build var to true. pass the versions to the compiler manually
os.Setenv("GO111MODULE", "off")
@@ -335,5 +327,5 @@ func (c *controlBox) getDateStamp(tag string) string {
// Parse the Unix timestamp into a time.Time object
gitTagDate := time.Unix(gitTagTimestampInt, 0)
- return gitTagDate.UTC().Format("2006-01-02_15:04:05_UTC") // same format used in forge. close to RFC3339
+ return gitTagDate.UTC().Format("2006-01-02_15:04:05_UTC") // close to RFC3339
}
diff --git a/exit.go b/exit.go
index 5ddbcf6..43051d4 100644
--- a/exit.go
+++ b/exit.go
@@ -7,7 +7,9 @@ import (
)
func okExit(thing string) {
- log.Info(thing, "ok")
+ if thing != "" {
+ log.Info(thing, "ok")
+ }
// log.Info("Finished go-clean on", check.GetGoPath(), "ok")
os.Exit(0)
}
diff --git a/main.go b/main.go
index f6e358c..4045b80 100644
--- a/main.go
+++ b/main.go
@@ -7,9 +7,8 @@ import (
"time"
"go.wit.com/dev/alexflint/arg"
- "go.wit.com/lib/fhelp"
"go.wit.com/lib/gui/prep"
- "go.wit.com/lib/protobuf/forgepb"
+ "go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
)
@@ -29,37 +28,23 @@ func main() {
me.myGui = prep.Gui() // prepares the GUI package for go-args
me.pp = arg.MustParse(&argv)
- if err := fhelp.ConfigureENV(); err != nil {
+ wd, err := os.Getwd()
+ if err != nil {
badExit(err)
}
- me.goSrc = os.Getenv("FORGE_GOSRC")
- if os.Getenv("FORGE_GOWORK") == "true" {
- me.hasWork = true
- }
- log.Info("GO src path", me.goSrc, "go.work is", me.hasWork)
-
- // set the go src path
- os.Setenv("REPO_WORK_PATH", me.goSrc)
-
- if argv.Forge != "" {
- me.forge = forgepb.Init()
- me.repo = me.forge.Repos.FindByFullPath(argv.Forge)
- if me.repo == nil {
- log.Info("repo not found", argv.Forge)
- me.repo = me.forge.FindByGoPath(argv.Forge)
- }
- if me.repo == nil {
- log.Info("forge failure. repo not found", argv.Forge)
- os.Exit(-1)
- }
- log.Info("found repo", me.repo.GetGoPath())
+ me.repo, err = gitpb.NewRepo(wd)
+ if err != nil {
+ badExit(err)
}
+
// build()
if argv.Show != nil {
log.Info("todo: show", me.repo.GetGoPath())
okExit("")
}
+ log.Info("todo: show", me.repo.GetNamespace(), me.repo.GetFullPath())
+ okExit("")
me.basicWindow = makebasicWindow()
diff --git a/structs.go b/structs.go
index 9ff62bf..145a521 100644
--- a/structs.go
+++ b/structs.go
@@ -4,7 +4,6 @@ import (
"go.wit.com/dev/alexflint/arg"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/prep"
- "go.wit.com/lib/protobuf/forgepb"
"go.wit.com/lib/protobuf/gitpb"
)
@@ -16,7 +15,6 @@ type mainType struct {
goSrc string // path to ~/go/src or go.work file
goPath string // the goPath to use for the package
hasWork bool // true if using go.work file
- forge *forgepb.Forge // the interface to the 'forge' protobuf information
repo *gitpb.Repo // this is the repo we are in
myGui *prep.GuiPrep // the gui toolkit handle
cBox *controlBox // the GUI box in the main window