A build item is a typed object exchanged between Quarkus build steps. Processors produce and consume build items, forming a build-time graph that coordinates extension actions and data flow. section 12.2.3 section 12.6
A build step can consume several items and produce several others. This lets processors in the same or different extensions cooperate without placing deployment classes in the final runtime artifact. section 12.2.3 section 12.6
Common build-item roles include:
- AdditionalBeanBuildItem registers a CDI bean for processing by the Quarkus Arc extension. section 12.2.3
- FilterBuildItem asks the Vert.x HTTP extension to apply a filter to every incoming HTTP request. section 12.2.3
- ApplicationIndexBuildItem supplies a Jandex index so processors can inspect application classes and annotations without loading classes through runtime reflection. section 12.2.3
Adding request auditing
A custom Quarkus extension can produce a FilterBuildItem from its processor to request auditing for every incoming request. The Vert.x HTTP extension consumes that item and records the bytecode needed to wire the filter into the application. section 12.2.3
Figure 12.1 The relationships between build-time processing components and how they translate to runtime
Trace how processors and build steps exchange build items, invoke recorders, and translate build-time processing into runtime behavior. section 12.2.3
