Skip to content

Generator versioning #413

@rohitst

Description

@rohitst

Given that:

  • Changes (sometimes breaking) to generators are happening frequently
  • We want to encourage active development on the generators
  • We have production or almost in production projects that heavily depend on api-builder generated clients.
  • We can't always depend on someone who knows the source of the generator being available to fix issues asap, and hence development/release progress is blocked

I propose some kind of versioning for api-builder generators that let unstable dev work go on, but let projects that require some level of stability stick to known generator versions

Some possible solutions

  • each generator can have a 'stable lts' and a 'nightly' variant. This can probably be achieved with no infrastructure changes using prefixes to the generator keys, and some cumbersome merging when needed (so http4s_stable and http4s_nightly)
  • build in proper versioning to generators. This is probably a lot of work because we'd have to store and load the versions (or at least jar binaries) somewhere, and current structure has all generators in one active project. + all the necessary changes to the cli and api, etc.
  • split apart the generators each into their own git repos. Use lambdas to host generators and all old versions

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