Fix embedding in production build

This commit is contained in:
Alessio 2023-08-19 02:14:23 -03:00
parent ff3dba9980
commit 4cabae45dd
4 changed files with 7 additions and 7 deletions

View File

@ -4,8 +4,8 @@ set -x
set -e
if [[ -n "$1" ]]; then
go build -ldflags="-s -w -X main.version_string=$1 -X webserver.is_production=true" -o tw ./twitter
go build -ldflags="-s -w -X main.version_string=$1 -X gitlab.com/offline-twitter/twitter_offline_engine/internal/webserver.use_embedded=true" -o tw ./twitter
else
go build -ldflags="-s -w -X webserver.is_production=true" -o tw ./twitter
go build -ldflags="-s -w -X gitlab.com/offline-twitter/twitter_offline_engine/internal/webserver.use_embedded=true" -o tw ./twitter
fi
chmod +x tw

View File

@ -7,4 +7,4 @@ import (
//go:embed "tpl" "static"
var embedded_files embed.FS
var use_embedded = false
var use_embedded = ""

View File

@ -31,7 +31,7 @@ func init() {
}
func get_filepath(s string) string {
if use_embedded {
if use_embedded == "true" {
return s
}
return path.Join(this_dir, s)
@ -40,7 +40,7 @@ func get_filepath(s string) string {
func glob(path string) []string {
var ret []string
var err error
if use_embedded {
if use_embedded == "true" {
ret, err = fs.Glob(embedded_files, get_filepath(path))
} else {
ret, err = filepath.Glob(get_filepath(path))
@ -168,7 +168,7 @@ type renderer struct {
func (r renderer) BufferedRender(w io.Writer) {
var tpl *template.Template
var err error
if use_embedded {
if use_embedded == "true" {
tpl, err = template.New("").Funcs(r.Funcs).ParseFS(embedded_files, r.Filenames...)
} else {
tpl, err = template.New("").Funcs(r.Funcs).ParseFiles(r.Filenames...)

View File

@ -98,7 +98,7 @@ func (app *Application) ServeHTTP(w http.ResponseWriter, r *http.Request) {
parts := strings.Split(r.URL.Path, "/")[1:]
switch parts[0] {
case "static":
if use_embedded {
if use_embedded == "true" {
// Serve directly from the embedded files
http.FileServer(http.FS(embedded_files)).ServeHTTP(w, r)
} else {