mirror of
https://github.com/schollz/croc.git
synced 2025-10-11 05:11:06 +02:00
add go generate code for updating version
This commit is contained in:
parent
7377f536fc
commit
9e61f38707
3 changed files with 57 additions and 41 deletions
39
main.go
39
main.go
|
@ -1,4 +1,5 @@
|
||||||
package main
|
package main
|
||||||
|
//go:generate go run src/install/updateversion.go
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -7,44 +8,6 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// f, _ := os.Create("test.1")
|
|
||||||
// f.Truncate(8096)
|
|
||||||
// f.Close()
|
|
||||||
|
|
||||||
// file, _ := os.Open("test.1")
|
|
||||||
// defer file.Close()
|
|
||||||
|
|
||||||
// buffer := make([]byte, 4096)
|
|
||||||
// emptyBuffer := make([]byte, 4096)
|
|
||||||
// for {
|
|
||||||
// bytesread, err := file.Read(buffer)
|
|
||||||
// if err != nil {
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// log.Debugln(bytes.Equal(buffer[:bytesread], emptyBuffer[:bytesread]))
|
|
||||||
// }
|
|
||||||
// var sender bool
|
|
||||||
// flag.BoolVar(&sender, "sender", false, "sender")
|
|
||||||
// flag.Parse()
|
|
||||||
// c, err := croc.New(sender, "foo")
|
|
||||||
// if err != nil {
|
|
||||||
// panic(err)
|
|
||||||
// }
|
|
||||||
// if sender {
|
|
||||||
// err = c.Send(croc.TransferOptions{
|
|
||||||
// // PathToFile: "../wskeystore/README.md",
|
|
||||||
// // PathToFile: "./src/croc/croc.go",
|
|
||||||
// // PathToFiles: []string{"C:\\Users\\zacks\\go\\src\\github.com\\schollz\\croc\\src\\croc\\croc.go", "croc.exe"},
|
|
||||||
// PathToFiles: []string{"croc2.exe", "croc3.exe"}, //,"croc2.exe", "croc3.exe"},
|
|
||||||
// //PathToFiles: []string{"README.md"}, //,"croc2.exe", "croc3.exe"},
|
|
||||||
// KeepPathInRemote: false,
|
|
||||||
// })
|
|
||||||
// } else {
|
|
||||||
// err = c.Receive()
|
|
||||||
// }
|
|
||||||
// if err != nil {
|
|
||||||
// fmt.Println(err)
|
|
||||||
// }
|
|
||||||
if err := cli.Run(); err != nil {
|
if err := cli.Run(); err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,14 +21,14 @@ import (
|
||||||
var Version string
|
var Version string
|
||||||
|
|
||||||
func Run() (err error) {
|
func Run() (err error) {
|
||||||
|
// use all of the processors
|
||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
|
|
||||||
app := cli.NewApp()
|
app := cli.NewApp()
|
||||||
app.Name = "croc"
|
app.Name = "croc"
|
||||||
if Version == "" {
|
if Version == "" {
|
||||||
Version = "dev"
|
Version = "6.0.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
app.Version = Version
|
app.Version = Version
|
||||||
app.Compiled = time.Now()
|
app.Compiled = time.Now()
|
||||||
app.Usage = "easily and securely transfer stuff from one computer to another"
|
app.Usage = "easily and securely transfer stuff from one computer to another"
|
||||||
|
|
53
src/install/updateversion.go
Normal file
53
src/install/updateversion.go
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
err := run()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func run() (err error) {
|
||||||
|
b, err := ioutil.ReadFile("README.md")
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
newVersion := GetStringInBetween(string(b), "version-", "-b")
|
||||||
|
|
||||||
|
b, err = ioutil.ReadFile("src/cli/cli.go")
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
oldVersion := GetStringInBetween(string(b), `Version = "`, `"`)
|
||||||
|
|
||||||
|
if newVersion != oldVersion {
|
||||||
|
fmt.Printf("new version: '%s'\n", newVersion)
|
||||||
|
fmt.Printf("old version: '%s'\n", oldVersion)
|
||||||
|
newCli := strings.Replace(string(b), fmt.Sprintf(`Version = "%s"`, oldVersion), fmt.Sprintf(`Version = "%s"`, newVersion), 1)
|
||||||
|
err = ioutil.WriteFile("src/cli/cli.go", []byte(newCli), 0644)
|
||||||
|
} else {
|
||||||
|
fmt.Printf("current version: '%s'\n", oldVersion)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetStringInBetween Returns empty string if no start string found
|
||||||
|
func GetStringInBetween(str string, start string, end string) (result string) {
|
||||||
|
s := strings.Index(str, start)
|
||||||
|
if s == -1 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s += len(start)
|
||||||
|
e := strings.Index(str[s:], end)
|
||||||
|
if e == -1 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
e += s
|
||||||
|
return str[s:e]
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue