Each release includes a catalog with all sorts of information about what’s included in the release.
The catalog is shipped in an independent standalone
camel-catalog JAR containing the following information:
List of all components, data formats, languages, EIPs, and everything else in the release
Curated lists for Camel Quarkus, Camel Spring Boot, and Camel Karaf runtimes
JSON schema with extensive details for every option
Human-readable documentation for every option
Categorization of options (for example, find all database components)
XML schema for the XML DSLs
Maven Archetype Catalog of all the Camel archetypes
There is also a Java API for tooling:
validating Camel endpoints and the Simple language
creating Camel endpoint URLs
The catalog provides a wealth of information that tooling can tap into and use.
The following tools uses the catalog in their editor:
The Camel Maven validation plugin uses the catalog during validation of all the Camel endpoints found while scanning the source code.
JAR includes the information using the following directory layout:
org └── apache └── camel └── catalog ├── archetypes (Maven archetype catalog) ├── components (JSON schema) ├── dataformats (JSON schema) ├── languages (JSON schema) ├── main (JSON schema) ├── models (JSON schema) ├── others (JSON schema) └── schemas (XML schema)
Each directory contains files with the information. Every Camel component is included as JSON schema files in the components directory. For example, the Timer component is included in the file timer.json.