github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/pkg/plugin/builtin/doc.go (about) 1 // plugin package contains proto_plugin implementations that come "built-in" 2 // with the gazelle protoc extension. The naming convention of files is as 3 // follows: 4 // 5 // (1) the go filename mirrors the name the plugin is registered under 6 // (snake-case, so 'builtin:js:closure' -> protoc_js_closure.go). 7 // 8 // (2) if the plugin corresponds to a protoc "builtin" such as java, the name of 9 // the plugin is 'builtin:java' (reflects the value for the --java_out argument). 10 // Variants are appended to that name, such as 'builtin:js:common' (commonjs) and 11 // 'builtin:js:closure' (closure). 12 // 13 // (3) if the plugin is not a builtin, the name is a colon-delimited list 14 // reflecting its source code location. For example, the canonical name of the 15 // gogofast plugin in the "github.com/gogo/protobuf" repo is 16 // 'gogo:protobuf:gogofast'. In this scheme the domain 'github.com' is left 17 // out. The first two names are easy to choose. The final name of the "variant" 18 // is just a string, and hopefully a concise and meaningful name is chosen. 19 package builtin