From 3dbad22900d9f81ed6a790aebe7d9a7822cafcf3 Mon Sep 17 00:00:00 2001 From: Cory Slep Date: Sat, 12 Jan 2019 14:37:37 +0100 Subject: [PATCH] Add flag for generating with individual package policy. --- tools/exp/main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/exp/main.go b/tools/exp/main.go index 678bb10..722d6a2 100644 --- a/tools/exp/main.go +++ b/tools/exp/main.go @@ -41,7 +41,8 @@ var ( input = flag.String("input", "spec.json", "Input JSON-LD specification used to generate Go code.") vocabName = flag.String("vocab", "ActivityStreams", "The vocabulary name being generated by 'input'.") // TODO: Be more rigorous when applying this. Also, clear the default value I am using for convenience. - prefix = flag.String("prefix", "github.com/cjslep/activity/tools/exp/tmp", "Package prefix to use for all generated package paths. This should be the prefix in the GOPATH directory if generating in a subdirectory.") + prefix = flag.String("prefix", "github.com/cjslep/activity/tools/exp/tmp", "Package prefix to use for all generated package paths. This should be the prefix in the GOPATH directory if generating in a subdirectory.") + individual = flag.Bool("individual", false, "Whether to generate types and properties in individual packages.") ) type list []string @@ -73,12 +74,16 @@ func main() { if err != nil { panic(err) } + policy := convert.FlatUnderRoot + if *individual { + policy = convert.IndividualUnderRoot + } c := &convert.Converter{ Registry: registry, GenRoot: props.NewPackageManager(*prefix, "gen"), VocabularyName: *vocabName, ValueRoot: props.NewPackageManager(*prefix, "gen/vals"), - PackagePolicy: convert.FlatUnderRoot, + PackagePolicy: policy, } f, err := c.Convert(p) if err != nil {