summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--doList.go10
-rw-r--r--doPull.go201
-rw-r--r--main.go13
4 files changed, 12 insertions, 214 deletions
diff --git a/Makefile b/Makefile
index 277c767..546d081 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ BUILDTIME = $(shell date +%Y.%m.%d_%H%M)
all: build
# ./forged pull
# ./forged list
- ./forged init | head
+ ./forged list
build: goimports
GO111MODULE=off go build \
diff --git a/doList.go b/doList.go
new file mode 100644
index 0000000..7610d13
--- /dev/null
+++ b/doList.go
@@ -0,0 +1,10 @@
+package main
+
+import (
+ "go.wit.com/log"
+)
+
+func doList() any {
+ log.Info("do list here")
+ return nil
+}
diff --git a/doPull.go b/doPull.go
deleted file mode 100644
index 2b9aef3..0000000
--- a/doPull.go
+++ /dev/null
@@ -1,201 +0,0 @@
-package main
-
-import (
- "os"
- "path/filepath"
- "strings"
-
- "go.wit.com/lib/protobuf/forgepb"
- "go.wit.com/lib/protobuf/gitpb"
- "go.wit.com/log"
-)
-
-func doPull() {
- log.Info("do pull here")
- dirs, err := scanForgedDir(FORGEDIR)
- if err != nil {
- badExit(err)
- }
- os.Chdir(FORGEDIR)
- forge := forgepb.InitPB()
- log.Info("forge len", forge.Repos.Len())
- forge.PrintHumanTable(forge.Repos)
-
- for _, dir := range dirs {
- // log.Info("found repo", i, dir)
- // repo, err := forge.AddNamespaceDir(ns string, fullpath string)
- repo, err := readGitPB(dir)
- if err != nil {
- log.Info(dir, err)
- continue
- }
-
- // check to see if 'git clone' has already been run
- _, err = os.Stat(filepath.Join(dir, "git.clone"))
- if os.IsNotExist(err) {
- log.Info("repo needs cloning:", repo.Namespace, repo.URL, dir)
- if err := tryGitClone(repo, dir); err == nil {
- continue
- }
-
- // check for GO lang specific 'git clone' redirects
- if pkgurl, err := forgepb.RunGoList(repo.Namespace); err == nil {
- log.Info("NEED TO TRY", pkgurl)
- // if repo, err := f.urlClone(gopath, pkgurl); repo != nil {
- // return repo, err
- // }
- if err := forgepb.RunGitClone("git.clone", dir, pkgurl); err == nil {
- } else {
- badExit(err)
- }
- } else {
- badExit(err)
- }
- } else {
- // log.Info("repo is already cloned", dir, repo.Namespace)
- }
- }
- okExit("")
-}
-
-func tryGitClone(repo *gitpb.Repo, dir string) error {
- if err := forgepb.RunGitClone("git.clone", dir, "https://"+repo.Namespace); err == nil {
- return nil
- }
- giturl, err := forgepb.FindGoImport("https://" + repo.Namespace)
- if err == nil {
- log.Info("TRY THIS INSTEAD!!!!", giturl)
- if err := forgepb.RunGitClone("git.clone", dir, giturl); err != nil {
- log.Info("git clone still failed", giturl, err)
- return err
- }
- return nil
- }
- log.Info("git clone failed", err)
- return err
-}
-
-func initForged() *forgepb.Forge {
- log.Info("do pull here")
- dirs, err := scanForgedDir(FORGEDIR)
- if err != nil {
- badExit(err)
- return nil
- }
- os.Chdir(FORGEDIR)
- forge := forgepb.InitPB()
- log.Printf("forged has %d repos\n", forge.Repos.Len())
- // forge.PrintHumanTable(forge.Repos)
-
- for _, dir := range dirs {
- oldr, err := readGitPB(dir)
- if err != nil {
- log.Info("readGitPB() failed", dir, err)
- continue
- }
-
- fullpath := filepath.Join(dir, "git.clone")
-
- if check := forge.Repos.FindByFullPath(fullpath); check != nil {
- // log.Info(oldr.Namespace, fullpath, "already added")
- continue
- }
- // check to see if 'git clone' has already been run
- _, err = os.Stat(fullpath)
- if os.IsNotExist(err) {
- log.Info("repo needs cloning:", oldr.Namespace, oldr.FullPath, dir)
- } else {
- log.Info("repo is already cloned", dir, oldr.Namespace)
- }
- }
-
- return forge
-}
-
-func verifyForged(f *forgepb.Forge) {
- var changed bool = false
- for repo := range f.Repos.IterAll() {
- if strings.HasPrefix(repo.GetFullPath(), os.Getenv("FORGE_GOSRC")) {
- // log.Info(os.Getenv("FORGE_GOSRC"), repo.GetFullPath())
- } else {
- log.Info("not here", os.Getenv("FORGE_GOSRC"), repo.GetFullPath())
- f.Repos.Delete(repo)
- changed = true
- }
- }
- if changed {
- f.Repos.ConfigSave()
- }
-}
-
-func doInit() *forgepb.Forge {
- forge := initForged()
- verifyForged(forge)
-
- forge.PrintForgedTable(forge.Repos)
-
- return forge
-}
-
-func doList() any {
- log.Info("do pull here")
- dirs, err := scanForgedDir(FORGEDIR)
- if err != nil {
- badExit(err)
- return err
- }
- os.Chdir(FORGEDIR)
- forge := forgepb.InitPB()
- log.Info("forge len", forge.Repos.Len())
- forge.PrintHumanTable(forge.Repos)
-
- count := 0
- for _, dir := range dirs {
- // log.Info("found repo", i, dir)
- // repo, err := forge.AddNamespaceDir(ns string, fullpath string)
- oldr, err := readGitPB(dir)
- if err != nil {
- log.Info(dir, err)
- continue
- }
-
- fullpath := filepath.Join(dir, "git.clone")
-
- if check := forge.Repos.FindByFullPath(fullpath); check != nil {
- log.Info(oldr.Namespace, fullpath, "already added")
- continue
- }
-
- // check to see if 'git clone' has already been run
- _, err = os.Stat(fullpath)
- if os.IsNotExist(err) {
- // log.Info("repo needs cloning:", oldr.Namespace, repo.URL, dir)
- } else {
- log.Info("repo is already cloned", dir, oldr.Namespace)
- newr, err := forge.Repos.NewGoRepo(fullpath, oldr.Namespace)
- if err != nil {
- log.Info("repo add failed", err)
- }
- log.Info("REPO namespace:", newr.Namespace)
- log.Info("REPO fullpath:", newr.FullPath)
- log.Info("REPO URL:", newr.URL)
- os.Chdir(newr.FullPath)
- newr.Reload()
- log.Info("NEWR namespace:", newr.Namespace)
- log.Info("NEWR fullpath:", newr.FullPath)
- log.Info("NEWR Master Branch:", newr.GetMasterBranchName())
- log.Info("NEWR URL:", newr.URL)
- log.Info("repo scan worked", newr.Namespace, newr.GetMasterBranchName(), newr.URL)
- // forge.Repos.Append(newr)
- // break
- if count > 50 {
- // break
- }
- count += 1
- }
- }
- forge.PrintHumanTable(forge.Repos)
- forge.Repos.ConfigSave()
- okExit("")
- return nil
-}
diff --git a/main.go b/main.go
index 699f5d8..4e45f57 100644
--- a/main.go
+++ b/main.go
@@ -32,19 +32,8 @@ func main() {
os.Setenv("FORGE_GOSRC", "/home/forge")
}
- if argv.Init != nil {
- doInit()
- okExit("")
- }
-
if argv.List != nil {
- exit(doList())
- okExit("")
- }
-
- // forge = forgepb.Init()
- if argv.Pull != nil {
- doPull()
+ doList()
okExit("")
}