conformance icon indicating copy to clipboard operation
conformance copied to clipboard

Support table generation

Open n3wscott opened this issue 2 years ago • 1 comments

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:

n3wscott avatar Sep 29 '22 16:09 n3wscott

I am hoping someone can fork this and continue the work if there is interest. Thanks!

n3wscott avatar Sep 29 '22 16:09 n3wscott