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 {