Skip to content

Plugin request for Buf Schema Registry: protoc-gen-connect-php #2851

Open

Description

@rastislavnemec

Mandatory

Where is the source code for the plugin?

https://github.com/ftshp/connect-php/tree/main/cmd/protoc-gen-connect-php

The plugin is part of ftshp/connect, an unofficial PHP implementation of the Connect protocol (unary RPCs, PSR-18 client, PSR-15 server). For each service it generates a PHP interface and a client class next to the message classes from protocolbuffers/php. Streaming RPCs are skipped with a warning.

Optional

Does the plugin have a valid semver version?

v0.1.0, from the GitHub release: https://github.com/ftshp/connect-php/releases/tag/v0.1.0. Releases are tagged v* and built with goreleaser. go install github.com/ftshp/connect-php/cmd/protoc-gen-connect-php@v0.1.0 builds the same binary.

Does the plugin have a dependency on another plugin?

Yes, on protocolbuffers/php (https://github.com/protocolbuffers/protobuf/tree/main/php) for the message classes, like connectrpc/go on protocolbuffers/go. The generated code follows the namespace mapping and reserved-name rules of protoc-gen-php, so both plugins have to run on the same files.

Does the output of this plugin depend on any other external libraries?

Yes, the ftshp/connect Composer package (https://packagist.org/packages/ftshp/connect, Apache-2.0) and google/protobuf.

Proposed name: buf.build/community/ftshp-connect-php. The Dockerfile follows the connectrpc/go one (static Go build of the tagged module, scratch runtime, nobody user). I have the plugin directory and the plugin.sum files ready and will open the PR once this issue is in.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions