From 49bf4147aeeb9ae107b1d64f2a178bf24cbc4ec7 Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Sun, 9 Nov 2025 11:33:30 -0500 Subject: [PATCH] Reorganize files into cmd/ and pkg/ directories. --- Makefile | 8 ++++---- config.go => cmd/mailpopbox/config.go | 0 mailpopbox.go => cmd/mailpopbox/mailpopbox.go | 4 +++- pop3.go => cmd/mailpopbox/pop3.go | 2 +- pop3_test.go => cmd/mailpopbox/pop3_test.go | 0 server.go => cmd/mailpopbox/server.go | 0 smtp.go => cmd/mailpopbox/smtp.go | 2 +- smtp_test.go => cmd/mailpopbox/smtp_test.go | 2 +- {pop3 => pkg/pop3}/conn.go | 0 {pop3 => pkg/pop3}/conn_test.go | 0 {pop3 => pkg/pop3}/server.go | 0 {smtp => pkg/smtp}/conn.go | 0 {smtp => pkg/smtp}/conn_test.go | 2 +- {smtp => pkg/smtp}/relay.go | 0 {smtp => pkg/smtp}/relay_test.go | 0 {smtp => pkg/smtp}/server.go | 0 {smtp => pkg/smtp}/server_test.go | 0 version.go => pkg/version/version.go | 4 ++-- 18 files changed, 13 insertions(+), 11 deletions(-) rename config.go => cmd/mailpopbox/config.go (100%) rename mailpopbox.go => cmd/mailpopbox/mailpopbox.go (94%) rename pop3.go => cmd/mailpopbox/pop3.go (99%) rename pop3_test.go => cmd/mailpopbox/pop3_test.go (100%) rename server.go => cmd/mailpopbox/server.go (100%) rename smtp.go => cmd/mailpopbox/smtp.go (99%) rename smtp_test.go => cmd/mailpopbox/smtp_test.go (99%) rename {pop3 => pkg/pop3}/conn.go (100%) rename {pop3 => pkg/pop3}/conn_test.go (100%) rename {pop3 => pkg/pop3}/server.go (100%) rename {smtp => pkg/smtp}/conn.go (100%) rename {smtp => pkg/smtp}/conn_test.go (99%) rename {smtp => pkg/smtp}/relay.go (100%) rename {smtp => pkg/smtp}/relay_test.go (100%) rename {smtp => pkg/smtp}/server.go (100%) rename {smtp => pkg/smtp}/server_test.go (100%) rename version.go => pkg/version/version.go (81%) diff --git a/Makefile b/Makefile index 7e343af..f41b9d7 100644 --- a/Makefile +++ b/Makefile @@ -3,9 +3,9 @@ all: coverage linux mac DIRTY=$(shell test -z "`git status --untracked-files=no --porcelain`" || echo "-dirty") GITHASH=$(shell git log --pretty='%H' -1) -LDFLAG=-ldflags "-X 'main.versionGit=$(GITHASH)$(DIRTY)'" +LDFLAG=-ldflags "-X 'src.bluestatic.org/mailpopbox/pkg/version.versionGit=$(GITHASH)$(DIRTY)'" -VERSION=$(shell sed -n -E -e 's/[[:space:]]*versionNumber = "(.*)"/\1/p' version.go) +VERSION=$(shell sed -n -E -e 's/[[:space:]]*versionNumber = "(.*)"/\1/p' pkg/version/version.go) PKG_BASE=mailpopbox-$(VERSION) DOCS_FILES=README.md docs/install.md @@ -15,7 +15,7 @@ coverage: go tool cover -html=cover.out -o cover.html mac: - GOOS=darwin GOARCH=amd64 go build $(LDFLAG) + GOOS=darwin GOARCH=amd64 go build $(LDFLAG) ./cmd/... mkdir $(PKG_BASE) cp mailpopbox $(PKG_BASE) cp $(DOCS_FILES) $(PKG_BASE) @@ -23,7 +23,7 @@ mac: rm -rf $(PKG_BASE) linux: - GOOS=linux GOARCH=amd64 go build $(LDFLAG) + GOOS=linux GOARCH=amd64 go build $(LDFLAG) ./cmd/... mkdir $(PKG_BASE) cp mailpopbox $(PKG_BASE) cp deployment/mailpopbox.service $(PKG_BASE) diff --git a/config.go b/cmd/mailpopbox/config.go similarity index 100% rename from config.go rename to cmd/mailpopbox/config.go diff --git a/mailpopbox.go b/cmd/mailpopbox/mailpopbox.go similarity index 94% rename from mailpopbox.go rename to cmd/mailpopbox/mailpopbox.go index 62bbf71..ff9cfc1 100644 --- a/mailpopbox.go +++ b/cmd/mailpopbox/mailpopbox.go @@ -11,6 +11,8 @@ import ( "fmt" "os" + "src.bluestatic.org/mailpopbox/pkg/version" + "go.uber.org/zap" ) @@ -21,7 +23,7 @@ func main() { } if os.Args[1] == "version" { - fmt.Print(versionString) + fmt.Print(version.VersionString) os.Exit(0) } diff --git a/pop3.go b/cmd/mailpopbox/pop3.go similarity index 99% rename from pop3.go rename to cmd/mailpopbox/pop3.go index a03c1b8..6d4f59f 100644 --- a/pop3.go +++ b/cmd/mailpopbox/pop3.go @@ -18,7 +18,7 @@ import ( "go.uber.org/zap" - "src.bluestatic.org/mailpopbox/pop3" + "src.bluestatic.org/mailpopbox/pkg/pop3" ) func runPOP3Server(config Config, log *zap.Logger) <-chan ServerControlMessage { diff --git a/pop3_test.go b/cmd/mailpopbox/pop3_test.go similarity index 100% rename from pop3_test.go rename to cmd/mailpopbox/pop3_test.go diff --git a/server.go b/cmd/mailpopbox/server.go similarity index 100% rename from server.go rename to cmd/mailpopbox/server.go diff --git a/smtp.go b/cmd/mailpopbox/smtp.go similarity index 99% rename from smtp.go rename to cmd/mailpopbox/smtp.go index c22728e..89b84ed 100644 --- a/smtp.go +++ b/cmd/mailpopbox/smtp.go @@ -18,7 +18,7 @@ import ( "go.uber.org/zap" - "src.bluestatic.org/mailpopbox/smtp" + "src.bluestatic.org/mailpopbox/pkg/smtp" ) var sendAsSubject = regexp.MustCompile(`(?i)\[sendas:\s*([a-zA-Z0-9\.\-_]+)\]`) diff --git a/smtp_test.go b/cmd/mailpopbox/smtp_test.go similarity index 99% rename from smtp_test.go rename to cmd/mailpopbox/smtp_test.go index b589c69..7d56340 100644 --- a/smtp_test.go +++ b/cmd/mailpopbox/smtp_test.go @@ -18,7 +18,7 @@ import ( "go.uber.org/zap" - "src.bluestatic.org/mailpopbox/smtp" + "src.bluestatic.org/mailpopbox/pkg/smtp" ) func TestVerifyAddress(t *testing.T) { diff --git a/pop3/conn.go b/pkg/pop3/conn.go similarity index 100% rename from pop3/conn.go rename to pkg/pop3/conn.go diff --git a/pop3/conn_test.go b/pkg/pop3/conn_test.go similarity index 100% rename from pop3/conn_test.go rename to pkg/pop3/conn_test.go diff --git a/pop3/server.go b/pkg/pop3/server.go similarity index 100% rename from pop3/server.go rename to pkg/pop3/server.go diff --git a/smtp/conn.go b/pkg/smtp/conn.go similarity index 100% rename from smtp/conn.go rename to pkg/smtp/conn.go diff --git a/smtp/conn_test.go b/pkg/smtp/conn_test.go similarity index 99% rename from smtp/conn_test.go rename to pkg/smtp/conn_test.go index ab34bfd..1f6b252 100644 --- a/smtp/conn_test.go +++ b/pkg/smtp/conn_test.go @@ -315,7 +315,7 @@ func TestGetReceivedInfo(t *testing.T) { } func getTLSConfig(t *testing.T) *tls.Config { - cert, err := tls.LoadX509KeyPair("../testtls/domain.crt", "../testtls/domain.key") + cert, err := tls.LoadX509KeyPair("../../testtls/domain.crt", "../../testtls/domain.key") if err != nil { t.Fatal(err) return nil diff --git a/smtp/relay.go b/pkg/smtp/relay.go similarity index 100% rename from smtp/relay.go rename to pkg/smtp/relay.go diff --git a/smtp/relay_test.go b/pkg/smtp/relay_test.go similarity index 100% rename from smtp/relay_test.go rename to pkg/smtp/relay_test.go diff --git a/smtp/server.go b/pkg/smtp/server.go similarity index 100% rename from smtp/server.go rename to pkg/smtp/server.go diff --git a/smtp/server_test.go b/pkg/smtp/server_test.go similarity index 100% rename from smtp/server_test.go rename to pkg/smtp/server_test.go diff --git a/version.go b/pkg/version/version.go similarity index 81% rename from version.go rename to pkg/version/version.go index 7d499b9..4962aa8 100644 --- a/version.go +++ b/pkg/version/version.go @@ -4,10 +4,10 @@ // version 3.0. The full text of the license can be found in LICENSE.txt. // SPDX-License-Identifier: GPL-3.0-only -package main +package version var ( versionGit = "development" versionNumber = "2.1.0" - versionString = "mailpopbox " + versionNumber + " (" + versionGit + ")\n" + VersionString = "mailpopbox " + versionNumber + " (" + versionGit + ")\n" ) -- 2.43.5