gopl-zh.github.com/update_version.go
2016-02-01 10:17:36 +08:00

73 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright 2015 <chaishushan{AT}gmail.com>. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ingore
// 更新版本信息
package main
import (
"fmt"
"io/ioutil"
"log"
"os/exec"
"strings"
"time"
)
func main() {
data := makeVersionMarkdown()
err := ioutil.WriteFile("./version.md", []byte(data), 0666)
if err != nil {
log.Fatalf("ioutil.WriteFile: err = %v", err)
}
fmt.Println("MakeVersionMarkdown Done")
}
// 生成版本文件
func makeVersionMarkdown() string {
version := getGitCommitVersion()
buildTime := time.Now().Format("2006-01-02")
return fmt.Sprintf(`
<!-- 版本號文件用於被其它md文件包含 -->
### 版本信息
- 仓库版本:[%s](https://github.com/golang-china/gopl-zh/commit/%s)
- 构建时间:%s
`,
version, version,
buildTime,
)
}
// 获取Git最新的版本号
//
// git log HEAD -1
// commit 0460c1b3bb8fbb7e2fc88961e69aa37f4041d6c1
// Merge: b2d582a e826457
// Author: chai2010 <chaishushan@gmail.com>
// Date: Mon Feb 1 08:04:44 2016 +0800
//
// Merge pull request #249 from sunclx/patch-3
//
// fix typo
func getGitCommitVersion() (version string) {
cmdOut, err := exec.Command(`git`, `log`, `HEAD`, `-1`).CombinedOutput()
if err != nil {
log.Fatalf("getGitCommitVersion: err = %s", err)
}
for _, line := range strings.Split(string(cmdOut), "\n") {
line := strings.TrimSpace(line)
if strings.HasPrefix(line, "commit") {
version = strings.TrimSpace(line[len("commit"):])
return
}
}
return "master"
}