Fix embedding in production build
This commit is contained in:
parent
ff3dba9980
commit
4cabae45dd
@ -4,8 +4,8 @@ set -x
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ -n "$1" ]]; then
|
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
|
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
|
fi
|
||||||
chmod +x tw
|
chmod +x tw
|
||||||
|
@ -7,4 +7,4 @@ import (
|
|||||||
//go:embed "tpl" "static"
|
//go:embed "tpl" "static"
|
||||||
var embedded_files embed.FS
|
var embedded_files embed.FS
|
||||||
|
|
||||||
var use_embedded = false
|
var use_embedded = ""
|
||||||
|
@ -31,7 +31,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func get_filepath(s string) string {
|
func get_filepath(s string) string {
|
||||||
if use_embedded {
|
if use_embedded == "true" {
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
return path.Join(this_dir, s)
|
return path.Join(this_dir, s)
|
||||||
@ -40,7 +40,7 @@ func get_filepath(s string) string {
|
|||||||
func glob(path string) []string {
|
func glob(path string) []string {
|
||||||
var ret []string
|
var ret []string
|
||||||
var err error
|
var err error
|
||||||
if use_embedded {
|
if use_embedded == "true" {
|
||||||
ret, err = fs.Glob(embedded_files, get_filepath(path))
|
ret, err = fs.Glob(embedded_files, get_filepath(path))
|
||||||
} else {
|
} else {
|
||||||
ret, err = filepath.Glob(get_filepath(path))
|
ret, err = filepath.Glob(get_filepath(path))
|
||||||
@ -168,7 +168,7 @@ type renderer struct {
|
|||||||
func (r renderer) BufferedRender(w io.Writer) {
|
func (r renderer) BufferedRender(w io.Writer) {
|
||||||
var tpl *template.Template
|
var tpl *template.Template
|
||||||
var err error
|
var err error
|
||||||
if use_embedded {
|
if use_embedded == "true" {
|
||||||
tpl, err = template.New("").Funcs(r.Funcs).ParseFS(embedded_files, r.Filenames...)
|
tpl, err = template.New("").Funcs(r.Funcs).ParseFS(embedded_files, r.Filenames...)
|
||||||
} else {
|
} else {
|
||||||
tpl, err = template.New("").Funcs(r.Funcs).ParseFiles(r.Filenames...)
|
tpl, err = template.New("").Funcs(r.Funcs).ParseFiles(r.Filenames...)
|
||||||
|
@ -98,7 +98,7 @@ func (app *Application) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
parts := strings.Split(r.URL.Path, "/")[1:]
|
parts := strings.Split(r.URL.Path, "/")[1:]
|
||||||
switch parts[0] {
|
switch parts[0] {
|
||||||
case "static":
|
case "static":
|
||||||
if use_embedded {
|
if use_embedded == "true" {
|
||||||
// Serve directly from the embedded files
|
// Serve directly from the embedded files
|
||||||
http.FileServer(http.FS(embedded_files)).ServeHTTP(w, r)
|
http.FileServer(http.FS(embedded_files)).ServeHTTP(w, r)
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user