Exemple #1
0
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
}