Skip to content

[WIP] generate python, go, javascript, java clients from openapi spec#9493

Closed
houqp wants to merge 1 commit into
apache:masterfrom
houqp:client
Closed

[WIP] generate python, go, javascript, java clients from openapi spec#9493
houqp wants to merge 1 commit into
apache:masterfrom
houqp:client

Conversation

@houqp
Copy link
Copy Markdown
Member

@houqp houqp commented Jun 23, 2020

relates to #9080, based of work from https://github.com/mik-laj/airflow-api-clients.

TODO:

  • fix connexion integration
  • fix python tests
  • run update-client.sh to test api spec change in CI

Open questions:

  • Do we want to also implement artifact publish for python, javascript and java?

Make sure to mark the boxes below before creating PR: [x]

  • Description above provides context of the change
  • Unit tests coverage for changes (not needed for documentation changes)
  • Target Github ISSUE in description if exists
  • Commits follow "How to write a good git commit message"
  • Relevant documentation is updated including usage instructions.
  • I will engage committers as explained in Contribution Workflow Example.

In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.

@boring-cyborg boring-cyborg Bot added area:API Airflow's REST/HTTP API area:dev-tools labels Jun 23, 2020
get:
summary: Get all connection entries
operationId: airflow.api_connexion.endpoints.connection_endpoint.get_connections
x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mik-laj I am thinking of pulling this openapi spec change into a separate PR so we can get it merged in early to avoid conflicts. what do you think?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. This will reduce the number of conflicts.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, sent #9495.

@mik-laj
Copy link
Copy Markdown
Member

mik-laj commented Jun 24, 2020

Can you split these changes into several PRs? Each language has different requirements that we will have to consider to generate the perfect client library.
Here is an example of operations that are done by the Kubernetes team.
https://github.com/kubernetes-client/gen/blob/master/openapi/preprocess_spec.py
I will also have to involve other reviewers who have better language. It will be easier if each language will be in a separate PR.

Do we want to also implement artifact publish for python, javascript and java?

We can use Github Action to store development artifacts.

@houqp
Copy link
Copy Markdown
Member Author

houqp commented Jun 24, 2020

will replace this PR with change for one language at a time starting with Go.

@houqp houqp closed this Jun 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:API Airflow's REST/HTTP API area:dev-tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants