-
Notifications
You must be signed in to change notification settings - Fork 14.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move provider dependencies to inside provider folders #24672
Conversation
903648e
to
1e2c4c0
Compare
1e2c4c0
to
55d3533
Compare
55d3533
to
9190251
Compare
Updated. I have also updated the "selective checks" to trigger "upgrade-to-newer-dependencies when the "provider_dependencies.json" file changes by pre-commit. |
The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease. |
cd41b3e
to
1406e52
Compare
Yeah @kaxil - I think I reverted all the auto-formatting. Sorry for that, I missed it and it was not at all intentional :) |
a4dea54
to
6ba9a88
Compare
I also unified names all over the setup.py and related. I changed |
Ok. Looks green @kaxil - any more comments :D ? |
dfda130
to
625d131
Compare
cc @phanikumv @pankajastro @pankajkoti @bharanidharan14 @rajaths010494 -- worth checking this PR out -- so we can help maintain some of the providers dependencies and know where to look for :) |
Oh yeah I am going to make a VERY LOUD announcement in slack and devlist once we merge this one and already pinged about it in a few PRs. Thanks @kaxil for cross-promotion 😸 |
The ``setup.py`` had ALWAUS contained provider dependencies, but this is really a remnant of Airlfow 1.10 where providers were not separated out to subfolders of "providers". This change moves all the provider-specific dependencies to provider.yaml where they are kept together with all other provider meta-data. Later, when we move providers out, we can move them to provider specific setup.py files (or let provider-specific setup.py files read them from provider.yaml) but this is not something we want to do it now. The dependencies.json is now renamed to provider_dependencies.json and moved to "airflow" so tha it can be kept as part of the sources needed for sdist package to provide extras. Pre-commit still generates the file as needed and it contains now both: * cross-provider-deps information which providers depend on each other * deps - information what regular dependencies are needed for each provider On top of preparing to splitting providers it has the advantage, that there will be no more case where adding a dependency change for provider will not run tests for that provider.
625d131
to
6349b5e
Compare
Wait for success and I am merging :). One step closer to full provider separation. |
The
setup.py
had ALWAUS contained provider dependencies,but this is really a remnant of Airlfow 1.10 where providers
were not separated out to subfolders of "providers".
This change moves all the provider-specific dependencies
to provider.yaml where they are kept together with all other
provider meta-data.
Later, when we move providers out, we can move them to
provider specific setup.py files (or let provider-specific
setup.py files read them from provider.yaml) but this is
not something we want to do it now.
The dependencies.json is now renamed to provider_dependencies.json
and moved to "airflow" so tha it can be kept as part of the
sources needed for sdist package to provide extras. Pre-commit still
generates the file as needed and it contains now both:
other
provider
On top of preparing to splitting providers it has the advantage,
that there will be no more case where adding a dependency change
for provider will not run tests for that provider.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
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 a newsfragement file, named
{pr_number}.significant.rst
, in newsfragments.