liveBook · Manning

Build item

As explained in Quarkus in Action

A build item is a typed object exchanged between Quarkus build steps to communicate build-time data and actions.

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
figure

Trace how processors and build steps exchange build items, invoke recorders, and translate build-time processing into runtime behavior. section 12.2.3

How Quarkus in Action covers it

How deep it goes
Defines production, consumption, and graph execution, then illustrates CDI, HTTP filtering, and class-indexing applications.
Examples
Uses AdditionalBeanBuildItem, FilterBuildItem, ApplicationIndexBuildItem, and a custom request-auditing filter.
What it assumes
Assumes basic familiarity with Quarkus processors and build steps while introducing build-time extension communication from its purpose and examples.
What you can do after
Builds Quarkus extensions that pass data between processors and trigger CDI registration, HTTP filtering, or indexed class analysis.
How it connects
Connects processors, build steps, recorders, CDI, Vert.x HTTP, Jandex, and runtime bytecode generation.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quarkus in Action. The section links point to the parts of the book it draws on.