const idAnnotation … const HashAnnotation … const BehaviorAnnotation … func GoBin() string { … } // DeterminePluginSrcRoot guesses where the user // has her ${g}/${v}/$lower(${k})/${k}.go files. func DeterminePluginSrcRoot(fSys filesys.FileSystem) (string, error) { … } // FileYoungerThan returns true if the file both exists and has an // age is <= the Duration argument. func FileYoungerThan(path string, d time.Duration) bool { … } // FileModifiedAfter returns true if the file both exists and was // modified after the given time.. func FileModifiedAfter(path string, t time.Time) bool { … } func FileExists(path string) bool { … } // GetResMapWithIDAnnotation returns a new copy of the given ResMap with the ResIds annotated in each Resource func GetResMapWithIDAnnotation(rm resmap.ResMap) (resmap.ResMap, error) { … } // UpdateResMapValues updates the Resource value in the given ResMap // with the emitted Resource values in output. func UpdateResMapValues(pluginName string, h *resmap.PluginHelpers, output []byte, rm resmap.ResMap) error { … } func removeIDAnnotation(r *resource.Resource) error { … } // UpdateResourceOptions updates the generator options for each resource in the // given ResMap based on plugin provided annotations. func UpdateResourceOptions(rm resmap.ResMap) (resmap.ResMap, error) { … }