...
https://github.com/apache/flink-connector-elasticsearch/ is the most complete example of an externalized connector.
Git history
When moving a connector out of the Flink repo the git history should be preserved.
Use the git-filter-repo tool to extract the relevant commits.
As an example, the externalization of the Cassandra connector required these commands to be run (in a fresh copy of the Flink repository!!!):
Code Block |
---|
python3 git-filter-repo --subdirectory-filter flink-connectors/
python3 git-filter-repo --path flink-connector-cassandra/ |
The result should be that only the desired modules related to the connector exist in your local branch.
Then rebase this branch on top of the bootstrapped externalized connector repo, then apply changes to make things actually work.
Parent pom
We have a parent pom that connectors should use.
...