From 613576f4380c620392a1e34b8b6b11f4fb8c167e Mon Sep 17 00:00:00 2001 From: Shin'ya Minazuki Date: Tue, 30 Dec 2025 19:13:42 -0300 Subject: [PATCH] Reorganize the project layout, fix some logging quirks Signed-off-by: Shin'ya Minazuki --- Makefile | 2 +- Taskfile.yml | 5 ++--- cmd/follow.go => follow.go | 8 ++++---- cmd/login.go => login.go | 12 ++++++------ cmd/main.go => main.go | 0 config.go => mirai/config.go | 2 +- mirai/version.go | 17 +++++++++++++++++ cmd/post.go => post.go | 14 +++++++------- cmd/root.go => root.go | 4 ++-- cmd/unfollow.go => unfollow.go | 8 ++++---- version.go | 13 ------------- 11 files changed, 44 insertions(+), 41 deletions(-) rename cmd/follow.go => follow.go (84%) rename cmd/login.go => login.go (80%) rename cmd/main.go => main.go (100%) rename config.go => mirai/config.go (97%) create mode 100644 mirai/version.go rename cmd/post.go => post.go (66%) rename cmd/root.go => root.go (78%) rename cmd/unfollow.go => unfollow.go (83%) delete mode 100644 version.go diff --git a/Makefile b/Makefile index 8c7e576..02fd036 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,6 @@ VERSION ?= `git describe --tags` REVISION ?= `git rev-list --all | wc -l` build: - @${GO} build ${GOFLAGS} -o mikuru ./cmd + @${GO} build ${GOFLAGS} clean: @rm -f mikuru diff --git a/Taskfile.yml b/Taskfile.yml index 81273e1..bdcbc9f 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -6,8 +6,7 @@ env: GO: go vars: - IMPORT: git.laidback.moe/shinyoukai/mikuru - DIR: ./cmd + IMPORT: git.laidback.moe/shinyoukai/mikuru/mirai tasks: default: cmds: @@ -15,7 +14,7 @@ tasks: build: desc: Build the client cmds: - - $GO build -ldflags='-s -w -X "{{.IMPORT}}.Version={{.VERSION}}" -X "{{.IMPORT}}.Revision={{.REVISION}}"' -v -o mikuru {{.DIR}} + - $GO build -ldflags='-s -w -X "{{.IMPORT}}.Version={{.VERSION}}" -X "{{.IMPORT}}.Revision={{.REVISION}}"' -v vars: REVISION: sh: git rev-list --all | wc -l | tr -d ' ' diff --git a/cmd/follow.go b/follow.go similarity index 84% rename from cmd/follow.go rename to follow.go index 63ab338..b032323 100644 --- a/cmd/follow.go +++ b/follow.go @@ -3,7 +3,7 @@ package main import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "git.laidback.moe/shinyoukai/mikuru" + "git.laidback.moe/shinyoukai/mikuru/mirai" "go.yarn.social/client" ) @@ -12,8 +12,8 @@ var followCmd = &cobra.Command{ Short: "Track a twtxt.txt feed, located in a Yarn pod or otherwise", Run: func(_ *cobra.Command, args []string) { cli, err := client.NewClient( - client.WithURI(mikuru.Config.Host), - client.WithToken(mikuru.Config.Token), + client.WithURI(mirai.Config.Host), + client.WithToken(mirai.Config.Token), ) if err != nil { log.Fatal(err) @@ -32,7 +32,7 @@ var followCmd = &cobra.Command{ } func init() { - mikuru.ConfInit() + mirai.ConfInit() rootCmd.AddCommand(followCmd) } diff --git a/cmd/login.go b/login.go similarity index 80% rename from cmd/login.go rename to login.go index 47fc984..2f39425 100644 --- a/cmd/login.go +++ b/login.go @@ -7,7 +7,7 @@ import ( "golang.org/x/term" "go.yarn.social/client" - "git.laidback.moe/shinyoukai/mikuru" + "git.laidback.moe/shinyoukai/mikuru/mirai" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -24,16 +24,16 @@ var loginCmd = &cobra.Command{ Aliases: []string{"auth", "signin"}, Args: cobra.MaximumNArgs(0), Run: func(_ *cobra.Command, _ []string) { - cli, err := client.NewClient(client.WithURI(mikuru.Config.Host)) + cli, err := client.NewClient(client.WithURI(mirai.Config.Host)) if err != nil { - log.Fatal("Unable to create client", err) + log.Fatalf("Unable to create client\n%s\n", err) } signin(cli) }, } func init() { - mikuru.ConfInit() + mirai.ConfInit() rootCmd.AddCommand(loginCmd) } @@ -49,7 +49,7 @@ func signin(cli *client.Client) { fmt.Printf("Password: ") data, err := term.ReadPassword(int(syscall.Stdin)) if err != nil { - log.Fatal("Unable to obtain password", err) + log.Fatalf("Unable to obtain password\n%s\n", err) } password := string(data) @@ -57,7 +57,7 @@ func signin(cli *client.Client) { res, err := cli.Login(username, password) if err != nil { - log.Fatal("Unable to login", err) + log.Fatalf("Unable to login\n%s\n", err) } token := strings.Trim(fmt.Sprintf(res.Token), "{}") diff --git a/cmd/main.go b/main.go similarity index 100% rename from cmd/main.go rename to main.go diff --git a/config.go b/mirai/config.go similarity index 97% rename from config.go rename to mirai/config.go index 7dc587d..94a5735 100644 --- a/config.go +++ b/mirai/config.go @@ -1,4 +1,4 @@ -package mikuru +package mirai import ( "log" diff --git a/mirai/version.go b/mirai/version.go new file mode 100644 index 0000000..68cb16e --- /dev/null +++ b/mirai/version.go @@ -0,0 +1,17 @@ +package mirai + +import ( + "fmt" +) + +var ( + Revision = "0" + Version = "0" +) + +func FullVersion() string { + return fmt.Sprintf("%s (r%s)", Version, Revision) +} +func PrintVersion() string { + return fmt.Sprintf("%s", Version) +} diff --git a/cmd/post.go b/post.go similarity index 66% rename from cmd/post.go rename to post.go index b8217e9..92ed490 100644 --- a/cmd/post.go +++ b/post.go @@ -1,7 +1,7 @@ package main import ( - "git.laidback.moe/shinyoukai/mikuru" + "git.laidback.moe/shinyoukai/mikuru/mirai" "go.yarn.social/client" "github.com/tj/go-editor" log "github.com/sirupsen/logrus" @@ -14,11 +14,11 @@ var postCmd = &cobra.Command{ Short: "Publish a new post to a Yarn pod", Run: func(_ *cobra.Command, args []string) { cli, err := client.NewClient( - client.WithURI(mikuru.Config.Host), - client.WithToken(mikuru.Config.Token), + client.WithURI(mirai.Config.Host), + client.WithToken(mirai.Config.Token), ) if err != nil { - log.Fatal("Unable to create client", err) + log.Fatalf("Unable to create client\n%s\n", err) } write(cli) }, @@ -26,7 +26,7 @@ var postCmd = &cobra.Command{ func init() { rootCmd.AddCommand(postCmd) - mikuru.ConfInit() + mirai.ConfInit() } func write(cli *client.Client) { @@ -35,7 +35,7 @@ func write(cli *client.Client) { data, err := editor.Read() if err != nil { - log.Fatal("Unable to read content from editor", err) + log.Fatalf("Unable to read content from editor\n%s\n", err) } post = string(data) @@ -43,6 +43,6 @@ func write(cli *client.Client) { _, err = cli.Post(post, "") if err != nil { - log.Fatal("Unable to publish tweet", err) + log.Fatalf("Unable to publish tweet\n%s\n", err) } } diff --git a/cmd/root.go b/root.go similarity index 78% rename from cmd/root.go rename to root.go index 51cdb1e..6b01837 100644 --- a/cmd/root.go +++ b/root.go @@ -3,13 +3,13 @@ package main import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "git.laidback.moe/shinyoukai/mikuru" + "git.laidback.moe/shinyoukai/mikuru/mirai" ) var rootCmd = &cobra.Command{ Use: "mikuru", Short: "A client for Yarn.social from the future", - Version: mikuru.Version, + Version: mirai.FullVersion(), } func Execute() { diff --git a/cmd/unfollow.go b/unfollow.go similarity index 83% rename from cmd/unfollow.go rename to unfollow.go index 33954ed..e321ceb 100644 --- a/cmd/unfollow.go +++ b/unfollow.go @@ -3,7 +3,7 @@ package main import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "git.laidback.moe/shinyoukai/mikuru" + "git.laidback.moe/shinyoukai/mikuru/mirai" "go.yarn.social/client" ) @@ -12,8 +12,8 @@ var unfollowCmd = &cobra.Command{ Short: "Cease to track a feed", Run: func(_ *cobra.Command, args []string) { cli, err := client.NewClient( - client.WithURI(mikuru.Config.Host), - client.WithToken(mikuru.Config.Token), + client.WithURI(mirai.Config.Host), + client.WithToken(mirai.Config.Token), ) if err != nil { log.Fatal(err) @@ -31,7 +31,7 @@ var unfollowCmd = &cobra.Command{ } func init() { - mikuru.ConfInit() + mirai.ConfInit() rootCmd.AddCommand(unfollowCmd) } diff --git a/version.go b/version.go deleted file mode 100644 index 6d55d4f..0000000 --- a/version.go +++ /dev/null @@ -1,13 +0,0 @@ -package mikuru - -import ( - "fmt" -) - -var ( - Version = "0" -) - -func PrintVersion() string { - return fmt.Sprintf("%s", Version) -}