= Component Starters
:cellformats: cellformats="$xref|util.starterArtifactId(this)|supportlevel|since|description"
:base-query: component=components,relative=*.adoc,exclude='*-summary.adoc,index.adoc'
:base-attributes-query: {base-query},attributes=camel-spring-boot-name
:base-deprecated-query: {base-query},attributes='camel-spring-boot-name,deprecated'
:base-missing-query: {base-query},attributes=!camel-spring-boot-name

include::indexcount$[component=components,module=spring-boot,family=example,queries='existing=']
include::indexuniquecount$[component=components,module=*,attributes=camel-spring-boot-name,formats='used=camelSpringBootName']

ifeval::[{used} != {existing}]
:sb-statistics: true
There are unused json files.
endif::[]

ifdef::sb-statistics[]
== Statistics

include::Error-unused-starter-json.adoc[]

If this section appears in the (failed) website build, there is a mismatch between the camel spring boot starter json files, which are used to generate the spring-boot section of main camel component documentation, and the names used in those main camel component documentation pages.
The names of the unused spring boot starter json files are listed below.
Each of these needs to be used in a component doc page as the `camel-spring-boot-name` header attribute, like this:

[source,adoc]
----
:camel-spring-boot-name: springdoc
----

There are {existing} spring boot starter json files.

Of these {used} are used in components, dataformats, etc.

=== Unused spring-boot-starter names

[indexBlock, 'resourceid=$resourceid,sbname=util.extractSBName($resourceid)',component=components,module=spring-boot,family=example,requires={requires}]
----

%include::indexcount$[component=components,module=*,attributes='camel-spring-boot-name={sbname}',queries='using=']

%ifeval::[{using} == 0]
{sbname}
%endif::[]
----

== Camel Spring Boot
endif::[]

Apache Camel Spring Boot supports the following Camel artifacts as Spring Boot Starters

== Camel Components

:components-query: module=ROOT,{base-attributes-query}

Number of Camel components: indexCount:[{components-query}] in indexUniqueCount:[{components-query},format=artifactid] JAR artifacts (indexCount:[module=ROOT,{base-deprecated-query}] deprecated)

[{index-table-format}]
|===
| Component | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},{components-query}]

ifdef::sb-statistics[]
=== Non-Spring-Boot Components

[{index-table-format}]
|===
| Component | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},module=ROOT,{base-missing-query}]
endif::[]

== Camel Data Formats

:dataformats-query: module=dataformats,{base-attributes-query}

Number of Camel data formats: indexCount:[{dataformats-query}] in indexUniqueCount:[{dataformats-query},format=artifactid] JAR artifacts (indexCount:[module=dataformats,{base-deprecated-query}] deprecated)

[{index-table-format}]
|===
| Data Format | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},{dataformats-query}]

ifdef::sb-statistics[]
=== Non-Spring-Boot Data Formats

[{index-table-format}]
|===
| Data Format | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},module=dataformats,{base-missing-query}]
endif::[]

== Camel Languages

:languages-query: module=languages,{base-attributes-query}

Number of Camel languages: indexCount:[{languages-query}] in indexUniqueCount:[{languages-query},format=artifactid] JAR artifacts (indexCount:[module=languages,{base-deprecated-query}] deprecated)

[{index-table-format}]
|===
| Language | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},{languages-query}]

ifdef::sb-statistics[]
=== Non-Spring-Boot Languages

[{index-table-format}]
|===
| Language | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},module=languages,{base-missing-query}]
endif::[]

== Miscellaneous Extensions

:others-query: module=others,{base-attributes-query}

Number of miscellaneous extensions: indexCount:[{others-query}] in indexUniqueCount:[{others-query},format=artifactid] JAR artifacts (indexCount:[module=others,{base-deprecated-query}] deprecated)

[{index-table-format}]
|===
| Extensions | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},{others-query}]

ifdef::sb-statistics[]
=== Non-Spring-Boot Miscellaneous Extensions

[{index-table-format}]
|===
| Extensions | Artifact | Support Level | Since | Description
|===
indexTable::[{cellformats},{requires},module=others,{base-missing-query}]
endif::[]
