func optionsToCompileOptions(options *options, compileOptions *protoeasy.CompileOptions) error { if strings.ToLower(options.GoPluginType) == "none" { return fmt.Errorf("invalid value for --go-plugin: %s", options.GoPluginType) } goPluginType, err := protoeasy.GoPluginTypeSimpleValueOf(options.GoPluginType) if err != nil { return err } compileOptions.GoPluginType = goPluginType goModifiers, err := getModifiers(options.GoModifiers) if err != nil { return err } compileOptions.GoModifiers = goModifiers if strings.ToLower(options.GogoPluginType) == "none" { return fmt.Errorf("invalid value for --gogo-plugin: %s", options.GogoPluginType) } gogoPluginType, err := protoeasy.GogoPluginTypeSimpleValueOf(options.GogoPluginType) if err != nil { return err } compileOptions.GogoPluginType = gogoPluginType gogoModifiers, err := getModifiers(options.GogoModifiers) if err != nil { return err } compileOptions.GogoModifiers = gogoModifiers // TODO(pedge): this should not be in this function // TODO(pedge): duplicated logic in goPlugin struct if compileOptions.NoDefaultIncludes { compileOptions.GoNoDefaultModifiers = true compileOptions.GogoNoDefaultModifiers = true } return nil }