conformance
conformance copied to clipboard
Support table generation
This is a work in progress to produce a supported features table from yaml config via a cli.
The work to be done is to add more support for URLs to link back to specs and features at versions. See https://github.com/cloudevents/spec/pull/1048 for the history.
The config template looks like this:
(╯°□°)╯︵ go run ./cmd/features template LANG
language: LANG
versions:
v1.0:
core: false
formats:
avro: false
amqp: false
json: false
protobuf: false
bindings:
amqp:
binary: false
structured: false
http:
binary: false
structured: false
batch: false
kafka:
binary: false
structured: false
mqtt:
binary: false
structured: false
nats:
binary: false
structured: false
web-sockets:
binary: false
structured: false
And the table is rendered as such:
(╯°□°)╯︵ go run ./cmd/features render ./cmd/features/testdata/foo.yaml ./cmd/features/testdata/bar.yaml ./cmd/features/testdata/baz.yaml
| Feature | Foo | Bar | Baz | |
|---|---|---|---|---|
| v1.0 | ||||
| CloudEvents Core | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Avro Event Format | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| AMQP Event Format | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| JSON Event Format | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Protobuf Event Format | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| AMQP | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| HTTP | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Batch | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Kafka | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| MQTT | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| NATS | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Web Sockets | Binary | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Structured | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| v0.3 | ||||
| CloudEvents Core | :heavy_check_mark: | :x: | :x: | |
| Avro Event Format | :heavy_check_mark: | :x: | :x: | |
| AMQP Event Format | :heavy_check_mark: | :x: | :x: | |
| JSON Event Format | :heavy_check_mark: | :x: | :x: | |
| Protobuf Event Format | :heavy_check_mark: | :x: | :x: | |
| AMQP | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
| HTTP | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
| Batch | :heavy_check_mark: | :x: | :x: | |
| Kafka | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
| MQTT | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
| NATS | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
| Web Sockets | Binary | :heavy_check_mark: | :x: | :x: |
| Structured | :heavy_check_mark: | :x: | :x: | |
I am hoping someone can fork this and continue the work if there is interest. Thanks!