Annotation Interface IfBuildProfile


@Retention(RUNTIME) @Target({METHOD,TYPE,FIELD}) public @interface IfBuildProfile
When applied to a bean class or producer method (or field), the bean will only be enabled if the Quarkus build time profile matches the rules of the annotation values.
    Enabled when "dev" profile is active:

    @ApplicationScoped
    @IfBuildProfile("dev")
    public class DevBean {
    }

    Enabled when both "build" and "dev" profiles are active:

    @ApplicationScoped
    @IfBuildProfile(allOf = {"build", "dev"})
    public class BuildDevBean {
    }

    Enabled if either "build" or "dev" profile is active:

    @ApplicationScoped
    @IfBuildProfile(anyOf = {"build", "dev"})
    public class BuildDevBean {
    }

    Enabled when both "build" and "dev" profiles are active and either "test" or "prod" profile is active:

    @ApplicationScoped
    @IfBuildProfile(allOf = {"build", "dev"}, anyOf = {"test", "prod"})
    public class BuildDevBean {
    }
 
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Multiple profiles names to enable a bean if all the profile names are active in Quarkus build time config.
    Multiple profiles names to enable a bean if any the profile names is active in Quarkus build time config.
    A single profile name to enable a bean if a profile with the same name is active in Quarkus build time config.
  • Element Details

    • value

      String value
      A single profile name to enable a bean if a profile with the same name is active in Quarkus build time config.
      Default:
      ""
    • allOf

      String[] allOf
      Multiple profiles names to enable a bean if all the profile names are active in Quarkus build time config.
      Default:
      {}
    • anyOf

      String[] anyOf
      Multiple profiles names to enable a bean if any the profile names is active in Quarkus build time config.
      Default:
      {}