OnlineLibrary
40 строк · 886.0 Байт
1package main
2
3import (
4"flag"
5"fmt"
6"os"
7
8"OnlineLibrary/internal/config"
9"github.com/josephspurrier/goversioninfo"
10)
11
12func main() {
13flagManifest := flag.String("manifest", "", "manifest file name")
14flagArch := flag.String("arch", "", "target architecture")
15flagSysoFile := flag.String("o", "", "output file name")
16
17flag.Usage = func() {
18fmt.Fprintf(os.Stderr, "Usage: %v [flags]\n\nPossible flags:\n", os.Args[0])
19flag.PrintDefaults()
20}
21flag.Parse()
22
23vi := &goversioninfo.VersionInfo{
24ManifestPath: *flagManifest,
25StringFileInfo: goversioninfo.StringFileInfo{
26FileDescription: config.ProgramDescription,
27ProductName: config.ProgramName,
28ProductVersion: config.ProgramVersion,
29LegalCopyright: config.CopyrightInfo,
30},
31}
32
33vi.Build()
34vi.Walk()
35err := vi.WriteSyso(*flagSysoFile, *flagArch)
36if err != nil {
37fmt.Println(err)
38os.Exit(1)
39}
40}
41