mirror of https://github.com/markbates/pkger.git
Added -t for specifying conditional build tags
This commit is contained in:
parent
a78c11e368
commit
bc0ae93dc6
|
@ -30,6 +30,7 @@ const outName = "pkged.go"
|
||||||
type packCmd struct {
|
type packCmd struct {
|
||||||
*flag.FlagSet
|
*flag.FlagSet
|
||||||
out string
|
out string
|
||||||
|
tags string
|
||||||
help bool
|
help bool
|
||||||
include slice
|
include slice
|
||||||
subs []command
|
subs []command
|
||||||
|
@ -53,7 +54,7 @@ func (e *packCmd) Exec(args []string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := Package(info, fp, decls); err != nil {
|
if err := Package(info, fp, decls, e.tags); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +105,7 @@ func New() (*packCmd, error) {
|
||||||
c.FlagSet = flag.NewFlagSet("pkger", flag.ExitOnError)
|
c.FlagSet = flag.NewFlagSet("pkger", flag.ExitOnError)
|
||||||
c.BoolVar(&c.help, "h", false, "prints help information")
|
c.BoolVar(&c.help, "h", false, "prints help information")
|
||||||
c.StringVar(&c.out, "o", "", "output directory for pkged.go")
|
c.StringVar(&c.out, "o", "", "output directory for pkged.go")
|
||||||
|
c.StringVar(&c.tags, "t", "", "conditional build tag(s) for pkged.go")
|
||||||
c.Var(&c.include, "include", "packages the specified file or directory")
|
c.Var(&c.include, "include", "packages the specified file or directory")
|
||||||
c.Usage = func() {
|
c.Usage = func() {
|
||||||
fmt.Fprintf(os.Stderr, "Usage:\n\n")
|
fmt.Fprintf(os.Stderr, "Usage:\n\n")
|
||||||
|
@ -123,7 +125,7 @@ func (e *packCmd) Flags() *flag.FlagSet {
|
||||||
return e.FlagSet
|
return e.FlagSet
|
||||||
}
|
}
|
||||||
|
|
||||||
func Package(info here.Info, out string, decls parser.Decls) error {
|
func Package(info here.Info, out string, decls parser.Decls, tags string) error {
|
||||||
c, err := here.Dir(filepath.Dir(out))
|
c, err := here.Dir(filepath.Dir(out))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -142,6 +144,9 @@ func Package(info here.Info, out string, decls parser.Decls) error {
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
|
|
||||||
|
if len(tags) > 0 {
|
||||||
|
fmt.Fprintf(f, "// +build %s\n\n", tags)
|
||||||
|
}
|
||||||
fmt.Fprintf(f, "// Code generated by pkger; DO NOT EDIT.\n\n")
|
fmt.Fprintf(f, "// Code generated by pkger; DO NOT EDIT.\n\n")
|
||||||
fmt.Fprintf(f, "package %s\n\n", c.Name)
|
fmt.Fprintf(f, "package %s\n\n", c.Name)
|
||||||
fmt.Fprintf(f, "import (\n\t\"github.com/markbates/pkger\"\n\t")
|
fmt.Fprintf(f, "import (\n\t\"github.com/markbates/pkger\"\n\t")
|
||||||
|
|
Loading…
Reference in New Issue