about summary refs log tree commit diff stats
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/build/main.go20
-rw-r--r--cmd/cspgenerator/cspgenerator.go5
-rw-r--r--cmd/server/main.go26
3 files changed, 31 insertions, 20 deletions
diff --git a/cmd/build/main.go b/cmd/build/main.go
index ee61a68..84de2dc 100644
--- a/cmd/build/main.go
+++ b/cmd/build/main.go
@@ -4,23 +4,24 @@ import (
 	"fmt"
 	"os"
 
-	"website/internal/builder"
-	"website/internal/log"
+	"go.alanpearce.eu/website/internal/builder"
+	"go.alanpearce.eu/website/internal/config"
+	"go.alanpearce.eu/x/log"
 
 	"github.com/ardanlabs/conf/v3"
-	"github.com/pkg/errors"
+	"gitlab.com/tozd/go/errors"
 )
 
 func main() {
-	ioConfig := builder.IOConfig{}
-	if help, err := conf.Parse("", &ioConfig); err != nil {
+	ioConfig := &builder.IOConfig{}
+	if help, err := conf.Parse("", ioConfig); err != nil {
 		if errors.Is(err, conf.ErrHelpWanted) {
 			fmt.Println(help)
 			os.Exit(1)
 		}
 		panic("error parsing configuration: " + err.Error())
 	}
-	log.Configure(!ioConfig.Development)
+	log := log.Configure(!ioConfig.Development)
 
 	log.Debug("starting build process")
 	if ioConfig.Source != "." {
@@ -29,7 +30,12 @@ func main() {
 			log.Panic("could not change to source directory")
 		}
 	}
-	_, err := builder.BuildSite(ioConfig)
+	cfg, err := config.GetConfig(ioConfig.Source, log)
+	if err != nil {
+		log.Error("could not read config", "error", err)
+	}
+
+	_, err = builder.BuildSite(ioConfig, cfg, log)
 	if err != nil {
 		log.Error("could not build site", "error", err)
 		os.Exit(1)
diff --git a/cmd/cspgenerator/cspgenerator.go b/cmd/cspgenerator/cspgenerator.go
index 89d2718..0252d32 100644
--- a/cmd/cspgenerator/cspgenerator.go
+++ b/cmd/cspgenerator/cspgenerator.go
@@ -1,13 +1,12 @@
 package main
 
 import (
-	"website/internal/config"
-	"website/internal/log"
+	"go.alanpearce.eu/website/internal/config"
 )
 
 func main() {
 	err := config.GenerateCSP()
 	if err != nil {
-		log.Fatal("error generating csp", "error", err)
+		panic(err)
 	}
 }
diff --git a/cmd/server/main.go b/cmd/server/main.go
index d73e19f..be36e3b 100644
--- a/cmd/server/main.go
+++ b/cmd/server/main.go
@@ -6,11 +6,11 @@ import (
 	"os"
 	"os/signal"
 
-	"website/internal/log"
-	"website/internal/server"
+	"go.alanpearce.eu/website/internal/server"
+	"go.alanpearce.eu/x/log"
 
 	"github.com/ardanlabs/conf/v3"
-	"github.com/pkg/errors"
+	"gitlab.com/tozd/go/errors"
 )
 
 func main() {
@@ -23,16 +23,22 @@ func main() {
 		}
 		panic("parsing runtime configuration" + err.Error())
 	}
-	log.Configure(!runtimeConfig.Development)
+	log := log.Configure(!runtimeConfig.Development)
 
-	tmpdir, err := os.MkdirTemp("", "website")
-	if err != nil {
-		log.Fatal("could not create temporary directory", "error", err)
+	if listenAddress := runtimeConfig.ListenAddress; listenAddress[0] == '[' {
+		runtimeConfig.ListenAddress = listenAddress[1 : len(listenAddress)-1]
+	}
+
+	if runtimeConfig.Development {
+		tmpdir, err := os.MkdirTemp("", "website")
+		if err != nil {
+			log.Fatal("could not create temporary directory", "error", err)
+		}
+		defer os.RemoveAll(tmpdir)
+		runtimeConfig.Root = tmpdir
 	}
-	defer os.RemoveAll(tmpdir)
-	runtimeConfig.Root = tmpdir
 
-	sv, err := server.New(&runtimeConfig)
+	sv, err := server.New(&runtimeConfig, log)
 	if err != nil {
 		log.Error("could not create server", "error", err)