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