feat: embed templates in final binary
This commit is contained in:
parent
9496baecb0
commit
cfb6db5460
13
main.go
13
main.go
@ -1,9 +1,11 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"embed"
|
||||||
"errors"
|
"errors"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/fs"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
@ -17,6 +19,9 @@ type LicensingData struct {
|
|||||||
Year int
|
Year int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:embed all:templates
|
||||||
|
var Templates embed.FS
|
||||||
|
|
||||||
var GitConfigError = errors.New("Can't read Git config")
|
var GitConfigError = errors.New("Can't read Git config")
|
||||||
var NotSupportedError = errors.New("Not supported license")
|
var NotSupportedError = errors.New("Not supported license")
|
||||||
|
|
||||||
@ -36,11 +41,7 @@ func getGitUserData() (string, string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getTemplateList() []string {
|
func getTemplateList() []string {
|
||||||
d, err := os.Open("templates")
|
files, err := fs.ReadDir(Templates, "templates")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
files, err := d.Readdir(0)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@ -60,7 +61,7 @@ func listTemplates() {
|
|||||||
|
|
||||||
func genLicense(lcnsName string, lcnsData LicensingData, outFileName string) error {
|
func genLicense(lcnsName string, lcnsData LicensingData, outFileName string) error {
|
||||||
tmplFile := "templates/" + lcnsName + ".tmpl"
|
tmplFile := "templates/" + lcnsName + ".tmpl"
|
||||||
tmpl, err := template.ParseFiles(tmplFile)
|
tmpl, err := template.ParseFS(Templates, tmplFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return NotSupportedError
|
return NotSupportedError
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user