summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile8
-rw-r--r--argv.go2
-rw-r--r--doDev.go12
3 files changed, 21 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 4d3251b..4e9a441 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,14 @@ BUILDTIME = $(shell date +%s)
default: install
# forge pull check
+generate:
+ forge dev --generate go.wit.com/lib/protobuf/forgepb
+ forge dev --generate go.wit.com/lib/protobuf/gitpb
+ forge dev --generate go.wit.com/lib/protobuf/httppb
+ forge dev --generate go.wit.com/lib/protobuf/guipb
+ forge dev --generate go.wit.com/lib/config
+ forge dev --generate go.wit.com/lib/gui/prep
+
vet:
@GO111MODULE=off go vet
@echo this go binary package builds okay
diff --git a/argv.go b/argv.go
index c5594b7..2979185 100644
--- a/argv.go
+++ b/argv.go
@@ -87,9 +87,9 @@ type CommitCmd struct {
type DevCmd struct {
Config *ConfigCmd `arg:"subcommand:config" help:"show your .config/forge/ settings"`
- Generate *EmptyCmd `arg:"subcommand:generate" help:"run go generate"`
Build *EmptyCmd `arg:"subcommand:build" help:"build this repo"`
Install *EmptyCmd `arg:"subcommand:install" help:"build & install this repo"`
+ Generate string `arg:"--generate" help:"run go generate"`
DeleteUser bool `arg:"--delete-user" help:"delete all user branches (checks for safety)"`
BuildForge bool `arg:"--forge-rebuild" help:"download all the forge sources and rebuild forge"`
URL string `arg:"--connect" help:"forge url"`
diff --git a/doDev.go b/doDev.go
index b36f017..9d7fae2 100644
--- a/doDev.go
+++ b/doDev.go
@@ -19,6 +19,18 @@ var ErrorNeedArgvFix error = errors.New("add --fix")
// FORGE USES THESE TO RECOVER FROM WHEN TOOLKITS FAIL TO LOAD
// so don't delete them
func doDev() (string, error) {
+ if argv.Dev.Generate != "" {
+ found := me.forge.Repos.FindByNamespace(argv.Dev.Generate)
+ if found == nil {
+ return "", fmt.Errorf("unknown namespace %s", argv.Dev.Generate)
+ }
+ r := found.RunVerbose([]string{"make", "generate"})
+ if r.Error() != "" {
+ return "go generate failed", fmt.Errorf("%s", r.Error())
+ }
+ return "go generate done", nil
+ }
+
if argv.Dev.Untracked {
// show untracked files
// git ls-files --others