Files
TorrServerJellyfin/make.go
2018-08-29 12:33:14 +03:00

85 lines
2.0 KiB
Go

package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"os/exec"
"strings"
"time"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("Need version")
os.Exit(1)
}
release_version := os.Args[1]
isTest := false
if len(os.Args) > 2 {
isTest = true
}
fmt.Println("\nMake:", release_version, "\n")
cmd := exec.Command("./build-all.sh")
cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil {
fmt.Println("Error compile", err)
os.Exit(1)
}
files, err := ioutil.ReadDir("dist")
if err != nil {
fmt.Println("Error read dist")
os.Exit(1)
}
fmt.Println("\nMake json")
js := Release{}
js.Name = "TorrServer"
js.Version = release_version
js.BuildDate = time.Now().Format("02.01.2006")
js.Links = make(map[string]string)
for _, f := range files {
arch := strings.TrimPrefix(f.Name(), "TorrServer-")
js.Links[arch] = "https://github.com/YouROK/TorrServer/releases/download/" + release_version + "/" + f.Name()
}
buf, err := json.MarshalIndent(&js, "", " ")
if err != nil {
fmt.Println("Error make json")
os.Exit(1)
}
if isTest {
err = ioutil.WriteFile("test.json", buf, 0666)
} else {
err = ioutil.WriteFile("release.json", buf, 0666)
}
if err != nil {
fmt.Println("Error write to json file:", err)
os.Exit(1)
}
fmt.Println("\n\nEnter tag manually:\n")
fmt.Println("git push origin", release_version)
fmt.Println()
}
type Release struct {
Name string
Version string
BuildDate string
Links map[string]string
}
//"update": {
//"name": "TorrServer",
//"version": "1.0.61",
//"build_date": "20.07.2018",
//"links":[
//{"android-386":"https://github.com/YouROK/TorrServe/releases/download/1.0.61/TorrServer-android-386"},
//{"android-amd64":"https://github.com/YouROK/TorrServe/releases/download/1.0.61/TorrServer-android-amd64"},
//{"android-arm7":"https://github.com/YouROK/TorrServe/releases/download/1.0.61/TorrServer-android-arm7"},
//{"android-arm64":"https://github.com/YouROK/TorrServe/releases/download/1.0.61/TorrServer-android-arm64"},
//]
//}