示例#1
0
文件: gen.go 项目: liftup/aptly
func main() {
	command := cmd.RootCommand()
	command.UsageLine = "aptly"
	command.Dispatch(nil)

	_, _File, _, _ := runtime.Caller(0)
	_File, _ = filepath.Abs(_File)

	templ := template.New("man").Funcs(template.FuncMap{
		"allFlags":    allFlags,
		"findCommand": findCommand,
		"toUpper":     strings.ToUpper,
		"capitalize":  capitalize,
		"authors":     authors,
	})
	template.Must(templ.ParseFiles(filepath.Join(filepath.Dir(_File), "aptly.1.ronn.tmpl")))

	authorsF, err := os.Open(filepath.Join(filepath.Dir(_File), "..", "AUTHORS"))
	if err != nil {
		log.Fatal(err)
	}

	authorsB, err := ioutil.ReadAll(authorsF)
	if err != nil {
		log.Fatal(err)
	}

	authorsF.Close()

	authorsS = string(authorsB)

	output, err := os.Create(filepath.Join(filepath.Dir(_File), "aptly.1.ronn"))
	if err != nil {
		log.Fatal(err)
	}

	err = templ.ExecuteTemplate(output, "main", command)
	if err != nil {
		log.Fatal(err)
	}

	output.Close()

	out, err := exec.Command("ronn", filepath.Join(filepath.Dir(_File), "aptly.1.ronn")).CombinedOutput()
	if err != nil {
		os.Stdout.Write(out)
		log.Fatal(err)
	}

	cmd := exec.Command("man", filepath.Join(filepath.Dir(_File), "aptly.1"))
	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	err = cmd.Run()
	if err != nil {
		log.Fatal(err)
	}
}
示例#2
0
文件: main.go 项目: liftup/aptly
func main() {
	os.Exit(cmd.Run(cmd.RootCommand(), os.Args[1:], true))
}