You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+18
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,24 @@ Be sure to test your pull request using all storage variants:
74
74
1. SQL storage (using the `-Psql` profile)
75
75
2. KafkaSQL storage (using the `-Pkafkasql` profile)
76
76
77
+
### Customizing Registry supported ArtifactTypes
78
+
79
+
Apicurio Registry is a modular project and it allows re-use of the produced artifacts in order to extend and enanche the functionalities.
80
+
81
+
More specifically it's possible to modify the currently supported artifact types and add new onces by providing an higher priority `io.apicurio.registry.types.bigquery.provider.ArtifactTypeUtilProviderImpl` to the DI framework.
82
+
83
+
In [this repository](https://github.com/andreaTP/apicurio-registry-with-bigquery-example) you can find an example where we add a demo BigQuery support.
84
+
85
+
Those are the interesting parts:
86
+
87
+
- use Apicurio Registry [as a dependency](https://github.com/andreaTP/apicurio-registry-with-bigquery-example/blob/66c5d18d9c0b5e246597b79e5c5b82a54752a65d/pom.xml#L45-L49)
88
+
- provide [an higher priority `ArtifactTypeUtilProviderImpl`](https://github.com/andreaTP/apicurio-registry-with-bigquery-example/blob/66c5d18d9c0b5e246597b79e5c5b82a54752a65d/src/main/java/io/apicurio/registry/types/bigquery/provider/ArtifactTypeUtilProviderImpl.java#L30-L33)
89
+
- tweak [the provider list](https://github.com/andreaTP/apicurio-registry-with-bigquery-example/blob/66c5d18d9c0b5e246597b79e5c5b82a54752a65d/src/main/java/io/apicurio/registry/types/bigquery/provider/ArtifactTypeUtilProviderImpl.java#L48) in the constructor to include the additional artifact type
90
+
91
+
**NOTES:**
92
+
93
+
- when creating an artifact of a type not included in the default you ALWAYS need to specify the appropriate artifact type
94
+
- the UI will show the plain name of the additional type and won't have an appropriate icon to identify it
0 commit comments