about summary refs log tree commit diff
path: root/third_party/gerrit-queue/frontend/frontend.go
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2021-12-14T16·23+0100
committerclbot <clbot@tvl.fyi>2021-12-14T17·14+0000
commitb3c4057f4bcb770785ba7147e40aa98e38171d08 (patch)
tree180fb293e2bb925bce3753f6c36cbb1f3d21d8f0 /third_party/gerrit-queue/frontend/frontend.go
parentb68f7eebb9763c0ea8f135f72026bfb787b78c6c (diff)
refactor(3p/gerrit-queue): use go:embed, bump go1.16, drop shell.nix r/3243
Previously, gerrit-queue used statik to embed files. Since go1.16, we
have go:embed, which solves this much nicer, without any requirements to
have the statik binary around.

As the only other thing the shell.nix and .envrc plumbing did was bring
a version of Go in scope, it's dropped now. We assume to have a
recent-enough go binary around, else go will complain.

Imported from https://github.com/flokli/gerrit-queue/pull/9

Change-Id: I851b06777a29d4f2d955cf3a7db6455a7189bc46
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4329
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/gerrit-queue/frontend/frontend.go')
-rw-r--r--third_party/gerrit-queue/frontend/frontend.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/third_party/gerrit-queue/frontend/frontend.go b/third_party/gerrit-queue/frontend/frontend.go
index f00bc414a1c7..2cc65423f0e6 100644
--- a/third_party/gerrit-queue/frontend/frontend.go
+++ b/third_party/gerrit-queue/frontend/frontend.go
@@ -1,36 +1,34 @@
 package frontend
 
 import (
+	"embed"
+	"encoding/json"
 	"fmt"
 	"io/ioutil"
 	"net/http"
-	"encoding/json"
 
 	"html/template"
 
-	"github.com/rakyll/statik/fs"
-
 	"github.com/apex/log"
 
 	"github.com/tweag/gerrit-queue/gerrit"
 	"github.com/tweag/gerrit-queue/misc"
-	_ "github.com/tweag/gerrit-queue/statik" // register static assets
 	"github.com/tweag/gerrit-queue/submitqueue"
 )
 
-//loadTemplate loads a list of templates, relative to the statikFS root, and a FuncMap, and returns a template object
+//go:embed templates
+var templates embed.FS
+
+//loadTemplate loads a list of templates, relative to the templates root, and a
+//FuncMap, and returns a template object
 func loadTemplate(templateNames []string, funcMap template.FuncMap) (*template.Template, error) {
 	if len(templateNames) == 0 {
 		return nil, fmt.Errorf("templateNames can't be empty")
 	}
 	tmpl := template.New(templateNames[0]).Funcs(funcMap)
-	statikFS, err := fs.New()
-	if err != nil {
-		return nil, err
-	}
 
 	for _, templateName := range templateNames {
-		r, err := statikFS.Open("/" + templateName)
+		r, err := templates.Open("/" + templateName)
 		if err != nil {
 			return nil, err
 		}