mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 00:33:14 +00:00
autogenerate version
This commit is contained in:
parent
63f624251d
commit
dd058e1637
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
|||||||
/yarr
|
/yarr
|
||||||
*.db
|
*.db
|
||||||
*.syso
|
*.syso
|
||||||
|
versioninfo.rc
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
1 VERSIONINFO
|
|
||||||
FILEVERSION 1,0,0,0
|
|
||||||
PRODUCTVERSION 1,0,0,0
|
|
||||||
BEGIN
|
|
||||||
BLOCK "StringFileInfo"
|
|
||||||
BEGIN
|
|
||||||
BLOCK "080904E4"
|
|
||||||
BEGIN
|
|
||||||
VALUE "CompanyName", "Old MacDonald's Farm"
|
|
||||||
VALUE "FileDescription", "Yet another RSS reader"
|
|
||||||
VALUE "FileVersion", "1.0"
|
|
||||||
VALUE "InternalName", "yarr"
|
|
||||||
VALUE "LegalCopyright", "nkanaev"
|
|
||||||
VALUE "OriginalFilename", "yarr.exe"
|
|
||||||
VALUE "ProductName", "yarr"
|
|
||||||
VALUE "ProductVersion", "1.0"
|
|
||||||
END
|
|
||||||
END
|
|
||||||
BLOCK "VarFileInfo"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Translation", 0x809, 1252
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
1 ICON "icon.ico"
|
|
||||||
|
|
4
main.go
4
main.go
@ -11,7 +11,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Version string = "v0.0"
|
var Version string = "0.0"
|
||||||
var GitHash string = "unknown"
|
var GitHash string = "unknown"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -23,7 +23,7 @@ func main() {
|
|||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if ver {
|
if ver {
|
||||||
fmt.Printf("%s (%s)\n", Version, GitHash)
|
fmt.Printf("v%s (%s)\n", Version, GitHash)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
5
makefile
5
makefile
@ -1,4 +1,4 @@
|
|||||||
VERSION=v1.0
|
VERSION=1.0
|
||||||
GITHASH=$(shell git rev-parse --short=8 HEAD)
|
GITHASH=$(shell git rev-parse --short=8 HEAD)
|
||||||
|
|
||||||
ASSETS = assets/javascripts/* assets/stylesheets/* assets/graphicarts/* assets/index.html
|
ASSETS = assets/javascripts/* assets/stylesheets/* assets/graphicarts/* assets/index.html
|
||||||
@ -24,7 +24,7 @@ build_macos: bundle
|
|||||||
mkdir -p _output/macos
|
mkdir -p _output/macos
|
||||||
go build -tags "sqlite_foreign_keys release macos" -ldflags="$(GO_LDFLAGS)" -o _output/macos/yarr main.go
|
go build -tags "sqlite_foreign_keys release macos" -ldflags="$(GO_LDFLAGS)" -o _output/macos/yarr main.go
|
||||||
cp artwork/icon.png _output/macos/icon.png
|
cp artwork/icon.png _output/macos/icon.png
|
||||||
go run scripts/package_macos.go _output/macos
|
go run scripts/package_macos.go -outdir _output/macos -version "$(VERSION)"
|
||||||
|
|
||||||
build_linux: bundle
|
build_linux: bundle
|
||||||
set GOOS=linux
|
set GOOS=linux
|
||||||
@ -36,5 +36,6 @@ build_windows: bundle
|
|||||||
set GOOS=windows
|
set GOOS=windows
|
||||||
set GOARCH=386
|
set GOARCH=386
|
||||||
mkdir -p _output/windows
|
mkdir -p _output/windows
|
||||||
|
go run scripts/generate_versioninfo.go -version "$(VERSION)" -outfile artwork/versioninfo.rc
|
||||||
windres -i artwork/versioninfo.rc -O coff -o platform/versioninfo.syso
|
windres -i artwork/versioninfo.rc -O coff -o platform/versioninfo.syso
|
||||||
go build -tags "sqlite_foreign_keys release windows" -ldflags="$(GO_LDFLAGS) -H windowsgui" -o _output/windows/yarr.exe main.go
|
go build -tags "sqlite_foreign_keys release windows" -ldflags="$(GO_LDFLAGS) -H windowsgui" -o _output/windows/yarr.exe main.go
|
||||||
|
48
scripts/generate_versioninfo.go
Normal file
48
scripts/generate_versioninfo.go
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"flag"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var rsrc = `1 VERSIONINFO
|
||||||
|
FILEVERSION {VERSION_COMMA},0,0
|
||||||
|
PRODUCTVERSION {VERSION_COMMA},0,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "080904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Old MacDonald's Farm"
|
||||||
|
VALUE "FileDescription", "Yet another RSS reader"
|
||||||
|
VALUE "FileVersion", "{VERSION}"
|
||||||
|
VALUE "InternalName", "yarr"
|
||||||
|
VALUE "LegalCopyright", "nkanaev"
|
||||||
|
VALUE "OriginalFilename", "yarr.exe"
|
||||||
|
VALUE "ProductName", "yarr"
|
||||||
|
VALUE "ProductVersion", "{VERSION}"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x809, 1252
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
1 ICON "icon.ico"
|
||||||
|
`
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var version, outfile string
|
||||||
|
flag.StringVar(&version, "version", "0.0", "")
|
||||||
|
flag.StringVar(&outfile, "outfile", "versioninfo.rc", "")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
version_comma := strings.ReplaceAll(version, ".", ",")
|
||||||
|
|
||||||
|
out := strings.ReplaceAll(rsrc, "{VERSION}", version)
|
||||||
|
out = strings.ReplaceAll(out, "{VERSION_COMMA}", version_comma)
|
||||||
|
|
||||||
|
ioutil.WriteFile(outfile, []byte(out), 0644)
|
||||||
|
}
|
@ -1,13 +1,15 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"flag"
|
||||||
"path"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os/exec"
|
|
||||||
"strconv"
|
|
||||||
"log"
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"path"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var plist = `<?xml version="1.0" encoding="UTF-8"?>
|
var plist = `<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@ -21,7 +23,7 @@ var plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>nkanaev.yarr</string>
|
<string>nkanaev.yarr</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.0</string>
|
<string>VERSION</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
@ -35,11 +37,6 @@ var plist = `<?xml version="1.0" encoding="UTF-8"?>
|
|||||||
<key>NSHighResolutionCapable</key>
|
<key>NSHighResolutionCapable</key>
|
||||||
<string>True</string>
|
<string>True</string>
|
||||||
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
|
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.13</string>
|
<string>10.13</string>
|
||||||
<key>LSUIElement</key>
|
<key>LSUIElement</key>
|
||||||
@ -59,7 +56,11 @@ func run(cmd ...string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
outdir := os.Args[1]
|
var version, outdir string
|
||||||
|
flag.StringVar(&version, "version", "0.0", "")
|
||||||
|
flag.StringVar(&outdir, "outdir", "", "")
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
outfile := "yarr"
|
outfile := "yarr"
|
||||||
|
|
||||||
binDir := path.Join(outdir, "yarr.app", "Contents/MacOS")
|
binDir := path.Join(outdir, "yarr.app", "Contents/MacOS")
|
||||||
@ -74,7 +75,7 @@ func main() {
|
|||||||
f, _ := ioutil.ReadFile(path.Join(outdir, outfile))
|
f, _ := ioutil.ReadFile(path.Join(outdir, outfile))
|
||||||
ioutil.WriteFile(path.Join(binDir, outfile), f, 0755)
|
ioutil.WriteFile(path.Join(binDir, outfile), f, 0755)
|
||||||
|
|
||||||
ioutil.WriteFile(plistFile, []byte(plist), 0644)
|
ioutil.WriteFile(plistFile, []byte(strings.Replace(plist, "VERSION", version, 1)), 0644)
|
||||||
ioutil.WriteFile(pkginfoFile, []byte("APPL????"), 0644)
|
ioutil.WriteFile(pkginfoFile, []byte("APPL????"), 0644)
|
||||||
|
|
||||||
iconFile := path.Join(outdir, "icon.png")
|
iconFile := path.Join(outdir, "icon.png")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user