From 770dbae2a93876bee33d52fb3c275c5549bc6aab Mon Sep 17 00:00:00 2001 From: Martin Kouba Date: Tue, 2 Jun 2020 16:53:15 +0200 Subject: [PATCH] Clarify the contract of features and capabilities - introduce enums for core extensions - validate duplicate features - deprecate capabilities constants - only extensions that use hard-coded string constants may be broken (due to introduction of naming conventions) --- .../io/quarkus/deployment/Capabilities.java | 115 ++++++++++----- .../io/quarkus/deployment/Capability.java | 59 ++++++++ .../java/io/quarkus/deployment/Feature.java | 125 ++++++++++++++++ .../builditem/CapabilityBuildItem.java | 19 ++- .../ExtensionSslNativeSupportBuildItem.java | 5 + .../builditem/FeatureBuildItem.java | 135 +++--------------- .../builditem/ServiceStartBuildItem.java | 5 + .../steps/CapabilityAggregationStep.java | 12 +- .../deployment/steps/MainClassBuildStep.java | 14 +- .../deployment/CapabilityNameTest.java | 16 +++ .../quarkus/deployment/FeatureNameTest.java | 16 +++ .../acme/ext/deployment/AcmeExtProcessor.java | 1 + .../asciidoc/building-my-first-extension.adoc | 4 + .../src/main/asciidoc/writing-extensions.adoc | 63 ++++++-- .../agroal/deployment/AgroalProcessor.java | 10 +- .../deployment/AmazonLambdaProcessor.java | 3 +- .../AbstractAmazonServiceProcessor.java | 3 +- .../deployment/DynamodbProcessor.java | 5 +- .../amazon/kms/deployment/KmsProcessor.java | 5 +- .../amazon/s3/deployment/S3Processor.java | 5 +- .../amazon/ses/deployment/SesProcessor.java | 5 +- .../amazon/sns/deployment/SnsProcessor.java | 5 +- .../amazon/sqs/deployment/SqsProcessor.java | 5 +- .../quarkus/arc/deployment/ArcProcessor.java | 14 +- .../core/deployment/ArtemisCoreProcessor.java | 3 +- .../jms/deployment/ArtemisJmsProcessor.java | 3 +- .../cache/deployment/CacheProcessor.java | 3 +- .../yaml/deployment/ConfigYamlProcessor.java | 3 +- .../consul/config/ConsulConfigProcessor.java | 5 +- .../docker/deployment/DockerProcessor.java | 4 +- .../image/jib/deployment/JibProcessor.java | 4 +- .../image/s2i/deployment/S2iProcessor.java | 4 +- .../ContainerImageCapabilitiesUtil.java | 11 +- .../ElasticsearchRestClientProcessor.java | 4 +- .../ElytronSecurityJdbcProcessor.java | 7 +- .../ElytronSecurityLdapProcessor.java | 7 +- .../deployment/OAuth2DeploymentProcessor.java | 9 +- .../ElytronPropertiesProcessor.java | 3 +- .../io/quarkus/flyway/FlywayProcessor.java | 7 +- .../grpc/deployment/GrpcClientProcessor.java | 2 +- .../grpc/deployment/GrpcServerProcessor.java | 2 +- .../orm/deployment/HibernateOrmProcessor.java | 10 +- .../HibernateReactiveProcessor.java | 7 +- ...HibernateSearchElasticsearchProcessor.java | 3 +- .../HibernateValidatorProcessor.java | 8 +- .../deployment/InfinispanClientProcessor.java | 5 +- .../InfinispanEmbeddedProcessor.java | 3 +- .../jackson/deployment/JacksonProcessor.java | 9 +- .../jaeger/deployment/JaegerProcessor.java | 8 +- .../derby/deployment/JDBCDerbyProcessor.java | 6 +- .../jdbc/h2/deployment/JDBCH2Processor.java | 6 +- .../deployment/JDBCMariaDBProcessor.java | 6 +- .../jdbc/mssql/deployment/MsSQLProcessor.java | 6 +- .../mysql/deployment/JDBCMySQLProcessor.java | 6 +- .../deployment/JDBCPostgreSQLProcessor.java | 6 +- .../jgit/deployment/JGitProcessor.java | 5 +- .../jsch/deployment/JSchProcessor.java | 4 +- .../jsonb/deployment/JsonbProcessor.java | 4 +- .../client/deployment/KafkaProcessor.java | 5 +- .../deployment/KafkaStreamsProcessor.java | 3 +- .../KeycloakPolicyEnforcerBuildStep.java | 3 +- .../kotlin/deployment/KotlinProcessor.java | 3 +- .../deployment/KubernetesClientProcessor.java | 5 +- .../spi/KubernetesPortBuildItem.java | 5 + .../deployment/ContainerImageUtil.java | 3 +- .../deployment/KubernetesDeployer.java | 3 +- .../deployment/KubernetesProcessor.java | 3 +- .../quarkus/liquibase/LiquibaseProcessor.java | 7 +- .../deployment/GelfLogHandlerProcessor.java | 3 +- .../mailer/deployment/MailerProcessor.java | 5 +- .../deployment/MongoClientProcessor.java | 8 +- .../mutiny/deployment/MutinyProcessor.java | 3 +- .../jta/deployment/NarayanaJtaProcessor.java | 7 +- .../stm/deployment/NarayanaSTMProcessor.java | 3 +- .../deployment/Neo4jDriverProcessor.java | 5 +- .../oidc/deployment/OidcBuildStep.java | 6 +- .../OptaPlannerJacksonProcessor.java | 3 +- .../deployment/OptaPlannerJsonbProcessor.java | 3 +- .../deployment/OptaPlannerProcessor.java | 3 +- .../KotlinPanacheResourceProcessor.java | 3 +- .../PanacheHibernateResourceProcessor.java | 3 +- .../HibernateOrmPanacheRestProcessor.java | 2 +- .../PanacheMongoResourceProcessor.java | 7 +- .../picocli/deployment/PicocliProcessor.java | 3 +- .../quartz/deployment/QuartzProcessor.java | 4 +- .../qute/deployment/QuteProcessor.java | 3 +- .../ReactiveDB2ClientProcessor.java | 3 +- .../ReactiveMySQLClientProcessor.java | 3 +- .../deployment/ReactivePgClientProcessor.java | 3 +- ...lRyeReactiveStreamsOperatorsProcessor.java | 3 +- ...allRyeReactiveTypeConvertersProcessor.java | 3 +- .../RestClientJacksonProcessor.java | 7 +- .../deployment/RestClientJaxbProcessor.java | 3 +- .../deployment/RestClientJsonbProcessor.java | 7 +- .../deployment/RestClientProcessor.java | 8 +- .../deployment/ResteasyCommonProcessor.java | 9 +- .../deployment/ResteasyJacksonProcessor.java | 9 +- .../deployment/ResteasyJaxbProcessor.java | 3 +- .../deployment/ResteasyJsonbProcessor.java | 9 +- .../deployment/ResteasyMutinyProcessor.java | 7 +- .../deployment/ResteasyQuteProcessor.java | 3 +- .../ResteasyServerCommonProcessor.java | 5 +- .../deployment/ResteasyBuiltinsProcessor.java | 5 +- .../deployment/ResteasyServletProcessor.java | 6 +- .../ResteasyStandaloneBuildStep.java | 6 +- .../scala/deployment/ScalaProcessor.java | 3 +- .../deployment/SchedulerProcessor.java | 11 +- .../QuarkusSecurityJpaProcessor.java | 7 +- .../deployment/SecurityProcessor.java | 7 +- .../SmallRyeContextPropagationProcessor.java | 3 +- .../SmallRyeFaultToleranceProcessor.java | 6 +- .../deployment/SmallRyeGraphQLProcessor.java | 8 +- .../deployment/SmallRyeHealthProcessor.java | 3 +- .../jwt/deployment/SmallRyeJwtProcessor.java | 7 +- .../deployment/SmallRyeMetricsProcessor.java | 7 +- .../deployment/SmallRyeOpenApiProcessor.java | 3 +- .../SmallRyeOpenTracingProcessor.java | 8 +- ...mallRyeReactiveMessagingAmqpProcessor.java | 3 +- ...allRyeReactiveMessagingKafkaProcessor.java | 3 +- ...mallRyeReactiveMessagingMqttProcessor.java | 5 +- .../SmallRyeReactiveMessagingProcessor.java | 6 +- .../ConfigurationPropertiesProcessor.java | 3 +- .../spring/cache/SpringCacheProcessor.java | 3 +- .../client/SpringCloudConfigProcessor.java | 5 +- .../deployment/SpringDataJPAProcessor.java | 3 +- .../di/deployment/SpringDIProcessor.java | 3 +- .../deployment/SpringSecurityProcessor.java | 3 +- .../web/deployment/SpringWebProcessor.java | 3 +- .../deployment/SwaggerUiProcessor.java | 3 +- .../tika/deployment/TikaProcessor.java | 7 +- .../UndertowWebsocketProcessor.java | 3 +- .../deployment/UndertowBuildStep.java | 10 +- .../java/io/quarkus/vault/VaultProcessor.java | 5 +- .../deployment/VertxGraphqlProcessor.java | 3 +- .../deployment/HttpSecurityProcessor.java | 3 +- .../web/deployment/VertxWebProcessor.java | 3 +- .../vertx/deployment/VertxProcessor.java | 7 +- .../WebJarLocatorStandaloneBuildStep.java | 3 +- 138 files changed, 794 insertions(+), 414 deletions(-) create mode 100644 core/deployment/src/main/java/io/quarkus/deployment/Capability.java create mode 100644 core/deployment/src/main/java/io/quarkus/deployment/Feature.java create mode 100644 core/deployment/src/test/java/io/quarkus/deployment/CapabilityNameTest.java create mode 100644 core/deployment/src/test/java/io/quarkus/deployment/FeatureNameTest.java diff --git a/core/deployment/src/main/java/io/quarkus/deployment/Capabilities.java b/core/deployment/src/main/java/io/quarkus/deployment/Capabilities.java index e4a0b5c21d114..ef4093a4c2015 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/Capabilities.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/Capabilities.java @@ -3,48 +3,75 @@ import java.util.Set; import io.quarkus.builder.item.SimpleBuildItem; +import io.quarkus.deployment.builditem.CapabilityBuildItem; /** - * The list of capabilities. + * This build items holds the set of registered capabilities. + * + * @see CapabilityBuildItem */ public final class Capabilities extends SimpleBuildItem { - public static final String AGROAL = "io.quarkus.agroal"; - public static final String CDI_ARC = "io.quarkus.cdi"; - public static final String SERVLET = "io.quarkus.servlet"; - public static final String TRANSACTIONS = "io.quarkus.transactions"; - public static final String JACKSON = "io.quarkus.jackson"; - public static final String JSONB = "io.quarkus.jsonb"; - public static final String REST_JACKSON = "io.quarkus.rest.jackson"; - public static final String REST_JSONB = "io.quarkus.rest.jsonb"; - public static final String RESTEASY_JSON_EXTENSION = "io.quarkus.resteasy-json"; - public static final String RESTEASY = "io.quarkus.resteasy"; - public static final String JWT = "io.quarkus.jwt"; - public static final String TIKA = "io.quarkus.tika"; - public static final String MONGODB_PANACHE = "io.quarkus.mongodb.panache"; - public static final String FLYWAY = "io.quarkus.flyway"; - public static final String LIQUIBASE = "io.quarkus.liquibase"; - public static final String SECURITY = "io.quarkus.security"; - public static final String SECURITY_ELYTRON_OAUTH2 = "io.quarkus.elytron.security.oauth2"; - public static final String SECURITY_ELYTRON_JDBC = "io.quarkus.elytron.security.jdbc"; - public static final String SECURITY_ELYTRON_LDAP = "io.quarkus.elytron.security.ldap"; - public static final String SECURITY_JPA = "io.quarkus.security.jpa"; - public static final String QUARTZ = "io.quarkus.quartz"; - public static final String METRICS = "io.quarkus.metrics"; - public static final String RESTEASY_MUTINY_EXTENSION = "io.quarkus.resteasy-mutiny"; - public static final String CONTAINER_IMAGE_JIB = "io.quarkus.container-image-jib"; - public static final String CONTAINER_IMAGE_DOCKER = "io.quarkus.container-image-docker"; - public static final String CONTAINER_IMAGE_S2I = "io.quarkus.container-image-s2i"; - public static final String HIBERNATE_ORM = "io.quarkus.hibernate-orm"; - public static final String SMALLRYE_OPENTRACING = "io.quarkus.opentracing"; - public static final String HIBERNATE_REACTIVE = "io.quarkus.hibernate-reactive"; + // The following constants will be removed at some point post Quarkus 1.6 + @Deprecated + public static final String AGROAL = Capability.AGROAL.getName(); + @Deprecated + public static final String CDI_ARC = Capability.CDI.getName(); + @Deprecated + public static final String SERVLET = Capability.SERVLET.getName(); + @Deprecated + public static final String TRANSACTIONS = Capability.TRANSACTIONS.getName(); + @Deprecated + public static final String JACKSON = Capability.JACKSON.getName(); + @Deprecated + public static final String JSONB = Capability.JSONB.getName(); + @Deprecated + public static final String REST_JACKSON = Capability.REST_JACKSON.getName(); + @Deprecated + public static final String REST_JSONB = Capability.REST_JSONB.getName(); + @Deprecated + public static final String RESTEASY_JSON_EXTENSION = Capability.RESTEASY_JSON.getName(); + @Deprecated + public static final String RESTEASY = Capability.RESTEASY.getName(); + @Deprecated + public static final String JWT = Capability.JWT.getName(); + @Deprecated + public static final String TIKA = Capability.TIKA.getName(); + @Deprecated + public static final String MONGODB_PANACHE = Capability.MONGODB_PANACHE.getName(); + @Deprecated + public static final String FLYWAY = Capability.FLYWAY.getName(); + @Deprecated + public static final String LIQUIBASE = Capability.LIQUIBASE.getName(); + @Deprecated + public static final String SECURITY = Capability.SECURITY.getName(); + @Deprecated + public static final String SECURITY_ELYTRON_OAUTH2 = Capability.SECURITY_ELYTRON_OAUTH2.getName(); + @Deprecated + public static final String SECURITY_ELYTRON_JDBC = Capability.SECURITY_ELYTRON_JDBC.getName(); + @Deprecated + public static final String SECURITY_ELYTRON_LDAP = Capability.SECURITY_ELYTRON_LDAP.getName(); + @Deprecated + public static final String SECURITY_JPA = Capability.SECURITY_JPA.getName(); + @Deprecated + public static final String QUARTZ = Capability.QUARTZ.getName(); + @Deprecated + public static final String METRICS = Capability.METRICS.getName(); + @Deprecated + public static final String RESTEASY_MUTINY_EXTENSION = Capability.RESTEASY_MUTINY.getName(); + @Deprecated + public static final String CONTAINER_IMAGE_JIB = Capability.CONTAINER_IMAGE_JIB.getName(); + @Deprecated + public static final String CONTAINER_IMAGE_DOCKER = Capability.CONTAINER_IMAGE_DOCKER.getName(); + @Deprecated + public static final String CONTAINER_IMAGE_S2I = Capability.CONTAINER_IMAGE_S2I.getName(); + @Deprecated + public static final String HIBERNATE_ORM = Capability.HIBERNATE_ORM.getName(); + @Deprecated + public static final String SMALLRYE_OPENTRACING = Capability.SMALLRYE_OPENTRACING.getName(); private final Set capabilities; - public boolean isCapabilityPresent(String capability) { - return capabilities.contains(capability); - } - public Capabilities(Set capabilities) { this.capabilities = capabilities; } @@ -53,4 +80,24 @@ public Set getCapabilities() { return capabilities; } + public boolean isCapabilityPresent(String capability) { + return isPresent(capability); + } + + public boolean isPresent(Capability capability) { + return isPresent(capability.getName()); + } + + public boolean isPresent(String capability) { + return capabilities.contains(capability); + } + + public boolean isMissing(String capability) { + return !isPresent(capability); + } + + public boolean isMissing(Capability capability) { + return isMissing(capability.getName()); + } + } diff --git a/core/deployment/src/main/java/io/quarkus/deployment/Capability.java b/core/deployment/src/main/java/io/quarkus/deployment/Capability.java new file mode 100644 index 0000000000000..dfb3c2120d605 --- /dev/null +++ b/core/deployment/src/main/java/io/quarkus/deployment/Capability.java @@ -0,0 +1,59 @@ +package io.quarkus.deployment; + +/** + * Represents a capability of a core extension. + */ +public enum Capability { + + /** + * A datasource connection pool implementation + */ + AGROAL, + /** + * JSR 365 compatible contexts and dependency injection + */ + CDI, + /** + * Java Servlet API + */ + SERVLET, + /** + * Java Transaction API (JTA) + */ + TRANSACTIONS, + JACKSON, + JSONB, + REST_JACKSON, + REST_JSONB, + RESTEASY, + RESTEASY_JSON, + RESTEASY_MUTINY, + JWT, + TIKA, + MONGODB_PANACHE, + FLYWAY, + LIQUIBASE, + SECURITY, + SECURITY_ELYTRON_OAUTH2, + SECURITY_ELYTRON_JDBC, + SECURITY_ELYTRON_LDAP, + SECURITY_JPA, + QUARTZ, + METRICS, + CONTAINER_IMAGE_JIB, + CONTAINER_IMAGE_DOCKER, + CONTAINER_IMAGE_S2I, + HIBERNATE_ORM, + HIBERNATE_REACTIVE, + SMALLRYE_OPENTRACING, + ; + + /** + * + * @return the name + */ + public String getName() { + return "io.quarkus." + toString().toLowerCase().replace("_", "."); + } + +} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/Feature.java b/core/deployment/src/main/java/io/quarkus/deployment/Feature.java new file mode 100644 index 0000000000000..676a44e22338c --- /dev/null +++ b/core/deployment/src/main/java/io/quarkus/deployment/Feature.java @@ -0,0 +1,125 @@ +package io.quarkus.deployment; + +import io.quarkus.deployment.builditem.FeatureBuildItem; + +/** + * Represents a feature provided by a core extension. + * + * @see FeatureBuildItem + */ +public enum Feature { + + AGROAL, + AMAZON_DYNAMODB, + AMAZON_LAMBDA, + AMAZON_S3, + AMAZON_SNS, + AMAZON_SQS, + AMAZON_SES, + AMAZON_KMS, + ARTEMIS_CORE, + ARTEMIS_JMS, + CACHE, + CDI, + CONFIG_YAML, + CONSUL_CONFIG, + ELASTICSEARCH_REST_CLIENT, + FLYWAY, + GRPC_CLIENT, + GRPC_SERVER, + HIBERNATE_ORM, + HIBERNATE_ORM_PANACHE, + HIBERNATE_ORM_PANACHE_KOTLIN, + HIBERNATE_ORM_REST_DATA_PANACHE, + HIBERNATE_REACTIVE, + HIBERNATE_SEARCH_ELASTICSEARCH, + HIBERNATE_VALIDATOR, + INFINISPAN_CLIENT, + INFINISPAN_EMBEDDED, + JAEGER, + JDBC_DERBY, + JDBC_H2, + JDBC_POSTGRESQL, + JDBC_MARIADB, + JDBC_MSSQL, + JDBC_MYSQL, + JGIT, + JSCH, + KAFKA_STREAMS, + KEYCLOAK_AUTHORIZATION, + KOTLIN, + KUBERNETES, + KUBERNETES_CLIENT, + LIQUIBASE, + LOGGING_GELF, + MAILER, + MONGODB_CLIENT, + MONGODB_PANACHE, + MUTINY, + NARAYANA_JTA, + NARAYANA_STM, + REACTIVE_PG_CLIENT, + REACTIVE_MYSQL_CLIENT, + REACTIVE_DB2_CLIENT, + NEO4J, + OIDC, + OPTAPLANNER, + OPTAPLANNER_JACKSON, + OPTAPLANNER_JSONB, + PICOCLI, + QUTE, + RESTEASY, + RESTEASY_JACKSON, + RESTEASY_JAXB, + RESTEASY_JSONB, + RESTEASY_MUTINY, + RESTEASY_QUTE, + REST_CLIENT, + REST_CLIENT_JACKSON, + REST_CLIENT_JAXB, + REST_CLIENT_JSONB, + SCALA, + SCHEDULER, + SECURITY, + SECURITY_JDBC, + SECURITY_LDAP, + SECURITY_JPA, + SECURITY_PROPERTIES_FILE, + SECURITY_OAUTH2, + SERVLET, + SMALLRYE_CONTEXT_PROPAGATION, + SMALLRYE_FAULT_TOLERANCE, + SMALLRYE_HEALTH, + SMALLRYE_JWT, + SMALLRYE_METRICS, + SMALLRYE_OPENAPI, + SMALLRYE_OPENTRACING, + SMALLRYE_REACTIVE_MESSAGING, + SMALLRYE_REACTIVE_MESSAGING_KAFKA, + SMALLRYE_REACTIVE_MESSAGING_AMQP, + SMALLRYE_REACTIVE_MESSAGING_MQTT, + SMALLRYE_REACTIVE_STREAMS_OPERATORS, + SMALLRYE_REACTIVE_TYPE_CONVERTERS, + SMALLRYE_GRAPHQL, + SPRING_DI, + SPRING_WEB, + SPRING_DATA_JPA, + SPRING_SECURITY, + SPRING_BOOT_PROPERTIES, + SPRING_CACHE, + SPRING_CLOUD_CONFIG_CLIENT, + SWAGGER_UI, + TIKA, + UNDERTOW_WEBSOCKETS, + VAULT, + VERTX, + VERTX_WEB, + VERTX_GRAPHQL, + WEBJARS_LOCATOR, + ; + + public String getName() { + return toString().toLowerCase().replace("_", "-"); + } + +} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/CapabilityBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/CapabilityBuildItem.java index fefdc17b3f3cb..5c3685cd97d02 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/CapabilityBuildItem.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/CapabilityBuildItem.java @@ -2,16 +2,31 @@ import io.quarkus.builder.item.MultiBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; /** - * Registers an internal feature. + * Represents a technical capability that can be queried by other extensions. + *

+ * Build steps can inject {@link Capabilities} - a convenient build item that holds the set of registered capabilities. + *

+ * An extension may provide multiple capabilities. Multiple extensions can provide the same capability. By default, capabilities + * are not displayed to users. + *

+ * Capabilities should follow the naming conventions of Java packages; e.g. {@code io.quarkus.security.jpa}. Capabilities + * provided by core extensions should be listed in the {@link Capability} enum and their name should always start with the + * {@code io.quarkus} prefix. * - * @see Capabilities#isCapabilityPresent(String) + * @see Capabilities + * @see Capability */ public final class CapabilityBuildItem extends MultiBuildItem { private final String name; + public CapabilityBuildItem(Capability capability) { + this(capability.getName()); + } + public CapabilityBuildItem(String name) { if (name == null) { throw new IllegalArgumentException("name cannot be null"); diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ExtensionSslNativeSupportBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ExtensionSslNativeSupportBuildItem.java index 64106557e92fa..f208aeb6eac45 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ExtensionSslNativeSupportBuildItem.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ExtensionSslNativeSupportBuildItem.java @@ -1,11 +1,16 @@ package io.quarkus.deployment.builditem; import io.quarkus.builder.item.MultiBuildItem; +import io.quarkus.deployment.Feature; public final class ExtensionSslNativeSupportBuildItem extends MultiBuildItem { private String extension; + public ExtensionSslNativeSupportBuildItem(Feature feature) { + this(feature.getName()); + } + public ExtensionSslNativeSupportBuildItem(String extension) { this.extension = extension; } diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/FeatureBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/FeatureBuildItem.java index 5cbb000e2a75b..432c86f9ad70f 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/FeatureBuildItem.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/FeatureBuildItem.java @@ -3,128 +3,37 @@ import java.util.Objects; import io.quarkus.builder.item.MultiBuildItem; +import io.quarkus.deployment.Feature; /** - * Describes a functionality provided by an extension. The info is displayed to users. + * Represents a functionality provided by an extension. The name of the feature gets displayed in the log during application + * bootstrap. + *

+ * An extension should provide at most one feature. The name must be unique. If multiple extensions register a feature of the + * same name the build fails. + *

+ * The name of the feature should only contain lowercase characters, words are separated by dash {@code -}; e.g. + * {@code security-jpa}. Features provided by core extensions should be listed in the {@link Feature} enum. */ public final class FeatureBuildItem extends MultiBuildItem { - public static final String AGROAL = "agroal"; - public static final String AMAZON_DYNAMODB = "amazon-dynamodb"; - public static final String AMAZON_LAMBDA = "amazon-lambda"; - public static final String AMAZON_S3 = "amazon-s3"; - public static final String AMAZON_SNS = "amazon-sns"; - public static final String AMAZON_SQS = "amazon-sqs"; - public static final String AMAZON_SES = "amazon-ses"; - public static final String AMAZON_KMS = "amazon-kms"; - public static final String ARTEMIS_CORE = "artemis-core"; - public static final String ARTEMIS_JMS = "artemis-jms"; - public static final String CACHE = "cache"; - public static final String CDI = "cdi"; - public static final String CONFIG_YAML = "config-yaml"; - public static final String CONSUL_CONFIG = "consul-config"; - public static final String ELASTICSEARCH_REST_CLIENT = "elasticsearch-rest-client"; - public static final String FLYWAY = "flyway"; - public static final String GRPC_CLIENT = "grpc-client"; - public static final String GRPC_SERVER = "grpc-server"; - public static final String HIBERNATE_ORM = "hibernate-orm"; - public static final String HIBERNATE_ORM_PANACHE = "hibernate-orm-panache"; - public static final String HIBERNATE_ORM_PANACHE_KOTLIN = "hibernate-orm-panache-kotlin"; - public static final String HIBERNATE_ORM_REST_DATA_PANACHE = "hibernate-orm-rest-data-panache"; - public static final String HIBERNATE_REACTIVE = "hibernate-reactive"; - public static final String HIBERNATE_VALIDATOR = "hibernate-validator"; - public static final String HIBERNATE_SEARCH_ELASTICSEARCH = "hibernate-search-elasticsearch"; - public static final String INFINISPAN_CLIENT = "infinispan-client"; - public static final String INFINISPAN_EMBEDDED = "infinispan-embedded"; - public static final String JAEGER = "jaeger"; - public static final String JDBC_DERBY = "jdbc-derby"; - public static final String JDBC_H2 = "jdbc-h2"; - public static final String JDBC_POSTGRESQL = "jdbc-postgresql"; - public static final String JDBC_MARIADB = "jdbc-mariadb"; - public static final String JDBC_MSSQL = "jdbc-mssql"; - public static final String JDBC_MYSQL = "jdbc-mysql"; - public static final String JGIT = "jgit"; - public static final String JSCH = "jsch"; - public static final String KAFKA_STREAMS = "kafka-streams"; - public static final String KEYCLOAK_AUTHORIZATION = "keycloak-authorization"; - public static final String KOTLIN = "kotlin"; - public static final String KUBERNETES = "kubernetes"; - public static final String KUBERNETES_CLIENT = "kubernetes-client"; - public static final String LIQUIBASE = "liquibase"; - public static final String LOGGING_GELF = "logging-gelf"; - public static final String MAILER = "mailer"; - public static final String MONGODB_CLIENT = "mongodb-client"; - public static final String MONGODB_PANACHE = "mongodb-panache"; - public static final String MUTINY = "mutiny"; - public static final String NARAYANA_JTA = "narayana-jta"; - public static final String NARAYANA_STM = "narayana-stm"; - public static final String REACTIVE_DB2_CLIENT = "reactive-db2-client"; - public static final String REACTIVE_PG_CLIENT = "reactive-pg-client"; - public static final String REACTIVE_MYSQL_CLIENT = "reactive-mysql-client"; - public static final String NEO4J = "neo4j"; - public static final String OIDC = "oidc"; - public static final String OPTAPLANNER = "optaplanner"; - public static final String OPTAPLANNER_JACKSON = "optaplanner-jackson"; - public static final String OPTAPLANNER_JSONB = "optaplanner-jsonb"; - public static final String PICOCLI = "picocli"; - public static final String QUTE = "qute"; - public static final String RESTEASY = "resteasy"; - public static final String RESTEASY_JACKSON = "resteasy-jackson"; - public static final String RESTEASY_JAXB = "resteasy-jaxb"; - public static final String RESTEASY_JSONB = "resteasy-jsonb"; - public static final String RESTEASY_MUTINY = "resteasy-mutiny"; - public static final String RESTEASY_QUTE = "resteasy-qute"; - public static final String REST_CLIENT = "rest-client"; - public static final String REST_CLIENT_JACKSON = "rest-client-jackson"; - public static final String REST_CLIENT_JAXB = "rest-client-jaxb"; - public static final String REST_CLIENT_JSONB = "rest-client-jsonb"; - public static final String SCALA = "scala"; - public static final String SCHEDULER = "scheduler"; - public static final String SECURITY = "security"; - public static final String SECURITY_JDBC = "security-jdbc"; - public static final String SECURITY_LDAP = "security-ldap"; - public static final String SECURITY_JPA = "security-jpa"; - public static final String SECURITY_PROPERTIES_FILE = "security-properties-file"; - public static final String SECURITY_OAUTH2 = "security-oauth2"; - public static final String SERVLET = "servlet"; - public static final String SMALLRYE_CONTEXT_PROPAGATION = "smallrye-context-propagation"; - public static final String SMALLRYE_FAULT_TOLERANCE = "smallrye-fault-tolerance"; - public static final String SMALLRYE_HEALTH = "smallrye-health"; - public static final String SMALLRYE_JWT = "smallrye-jwt"; - public static final String SMALLRYE_METRICS = "smallrye-metrics"; - public static final String SMALLRYE_OPENAPI = "smallrye-openapi"; - public static final String SMALLRYE_OPENTRACING = "smallrye-opentracing"; - public static final String SMALLRYE_REACTIVE_MESSAGING = "smallrye-reactive-messaging"; - public static final String SMALLRYE_REACTIVE_MESSAGING_KAFKA = "smallrye-reactive-messaging-kafka"; - public static final String SMALLRYE_REACTIVE_MESSAGING_AMQP = "smallrye-reactive-messaging-amqp"; - public static final String SMALLRYE_REACTIVE_MESSAGING_MQTT = "smallrye-reactive-messaging-mqtt"; - public static final String SMALLRYE_REACTIVE_STREAMS_OPERATORS = "smallrye-reactive-streams-operators"; - public static final String SMALLRYE_REACTIVE_TYPE_CONVERTERS = "smallrye-reactive-type-converters"; - public static final String SMALLRYE_GRAPHQL = "smallrye-graphql"; - public static final String SPRING_DI = "spring-di"; - public static final String SPRING_WEB = "spring-web"; - public static final String SPRING_DATA_JPA = "spring-data-jpa"; - public static final String SPRING_SECURITY = "spring-security"; - public static final String SPRING_BOOT_PROPERTIES = "spring-boot-properties"; - public static final String SPRING_CACHE = "spring-cache"; - public static final String SPRING_CLOUD_CONFIG_CLIENT = "spring-cloud-config-client"; - public static final String SWAGGER_UI = "swagger-ui"; - public static final String TIKA = "tika"; - public static final String UNDERTOW_WEBSOCKETS = "undertow-websockets"; - public static final String VAULT = "vault"; - public static final String VERTX = "vertx"; - public static final String VERTX_WEB = "vertx-web"; - public static final String VERTX_GRAPHQL = "vertx-graphql"; - public static final String WEBJARS_LOCATOR = "webjars-locator"; + private final String name; - private final String info; + public FeatureBuildItem(Feature feature) { + this(feature.getName()); + } - public FeatureBuildItem(String info) { - this.info = Objects.requireNonNull(info); + public FeatureBuildItem(String name) { + this.name = Objects.requireNonNull(name); } - public String getInfo() { - return info; + /** + * The name that gets displayed in the log. + * + * @return the name + */ + public String getName() { + return name; } } diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ServiceStartBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ServiceStartBuildItem.java index 9acef96e066ab..f7e9c4e2a59c8 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ServiceStartBuildItem.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ServiceStartBuildItem.java @@ -1,6 +1,7 @@ package io.quarkus.deployment.builditem; import io.quarkus.builder.item.MultiBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.runtime.StartupEvent; /** @@ -12,6 +13,10 @@ public final class ServiceStartBuildItem extends MultiBuildItem { private final String name; + public ServiceStartBuildItem(Feature feature) { + this(feature.getName()); + } + public ServiceStartBuildItem(String name) { this.name = name; } diff --git a/core/deployment/src/main/java/io/quarkus/deployment/steps/CapabilityAggregationStep.java b/core/deployment/src/main/java/io/quarkus/deployment/steps/CapabilityAggregationStep.java index 00c1573250318..774e14c6fa68b 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/steps/CapabilityAggregationStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/steps/CapabilityAggregationStep.java @@ -4,26 +4,18 @@ import java.util.List; import java.util.Set; -import javax.inject.Inject; - import io.quarkus.deployment.Capabilities; -import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; public class CapabilityAggregationStep { - @Inject - BuildProducer producer; - @BuildStep - public void build(List capabilities) throws Exception { + Capabilities build(List capabilities) throws Exception { Set present = new HashSet<>(); for (CapabilityBuildItem capability : capabilities) { present.add(capability.getName()); } - - producer.produce(new Capabilities(present)); - + return new Capabilities(present); } } diff --git a/core/deployment/src/main/java/io/quarkus/deployment/steps/MainClassBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/steps/MainClassBuildStep.java index b4cf9389c3065..c35928cf1af9b 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/steps/MainClassBuildStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/steps/MainClassBuildStep.java @@ -5,6 +5,7 @@ import java.io.File; import java.lang.reflect.Modifier; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -214,10 +215,15 @@ void build(List staticInitTasks, } // Startup log messages - ResultHandle featuresHandle = tryBlock.load(features.stream() - .map(f -> f.getInfo()) - .sorted() - .collect(Collectors.joining(", "))); + List featureNames = new ArrayList<>(); + for (FeatureBuildItem feature : features) { + if (featureNames.contains(feature.getName())) { + throw new IllegalStateException( + "Multiple extensions registered a feature of the same name: " + feature.getName()); + } + featureNames.add(feature.getName()); + } + ResultHandle featuresHandle = tryBlock.load(featureNames.stream().sorted().collect(Collectors.joining(", "))); ResultHandle activeProfile = tryBlock .invokeStaticMethod(ofMethod(ProfileManager.class, "getActiveProfile", String.class)); tryBlock.invokeStaticMethod( diff --git a/core/deployment/src/test/java/io/quarkus/deployment/CapabilityNameTest.java b/core/deployment/src/test/java/io/quarkus/deployment/CapabilityNameTest.java new file mode 100644 index 0000000000000..39321f841a746 --- /dev/null +++ b/core/deployment/src/test/java/io/quarkus/deployment/CapabilityNameTest.java @@ -0,0 +1,16 @@ +package io.quarkus.deployment; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class CapabilityNameTest { + + @Test + public void testName() { + assertEquals("io.quarkus.agroal", Capability.AGROAL.getName()); + assertEquals("io.quarkus.security.jpa", Capability.SECURITY_JPA.getName()); + assertEquals("io.quarkus.container.image.docker", Capability.CONTAINER_IMAGE_DOCKER.getName()); + } + +} diff --git a/core/deployment/src/test/java/io/quarkus/deployment/FeatureNameTest.java b/core/deployment/src/test/java/io/quarkus/deployment/FeatureNameTest.java new file mode 100644 index 0000000000000..6b40b8251c43f --- /dev/null +++ b/core/deployment/src/test/java/io/quarkus/deployment/FeatureNameTest.java @@ -0,0 +1,16 @@ +package io.quarkus.deployment; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class FeatureNameTest { + + @Test + public void testName() { + assertEquals("agroal", Feature.AGROAL.getName()); + assertEquals("security-jpa", Feature.SECURITY_JPA.getName()); + assertEquals("elasticsearch-rest-client", Feature.ELASTICSEARCH_REST_CLIENT.getName()); + } + +} diff --git a/devtools/gradle/src/functionalTest/resources/test-resources-in-build-steps/deployment/src/main/java/org/acme/ext/deployment/AcmeExtProcessor.java b/devtools/gradle/src/functionalTest/resources/test-resources-in-build-steps/deployment/src/main/java/org/acme/ext/deployment/AcmeExtProcessor.java index 55b8559bbb4a3..18b2bc4bfdc29 100644 --- a/devtools/gradle/src/functionalTest/resources/test-resources-in-build-steps/deployment/src/main/java/org/acme/ext/deployment/AcmeExtProcessor.java +++ b/devtools/gradle/src/functionalTest/resources/test-resources-in-build-steps/deployment/src/main/java/org/acme/ext/deployment/AcmeExtProcessor.java @@ -1,5 +1,6 @@ package org.acme.ext.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; diff --git a/docs/src/main/asciidoc/building-my-first-extension.adoc b/docs/src/main/asciidoc/building-my-first-extension.adoc index 284846a48c95a..404778a5438cf 100644 --- a/docs/src/main/asciidoc/building-my-first-extension.adoc +++ b/docs/src/main/asciidoc/building-my-first-extension.adoc @@ -272,6 +272,10 @@ class GreetingProcessor { } ---- +NOTE: `FeatureBuildItem` represents a functionality provided by an extension. +The name of the feature gets displayed in the log during application bootstrap. +An extension should provide at most one feature. + Be patient, we will explain the `Build Step Processor` concept and all the extension deployment API later on. At this point, you just need to understand that this class explains to Quarkus how to deploy a feature named `greeting` which is your extension. In other words, you are augmenting your application to use the `greeting` extension with all the Quarkus benefits (build time optimization, native support, etc.). diff --git a/docs/src/main/asciidoc/writing-extensions.adoc b/docs/src/main/asciidoc/writing-extensions.adoc index 019027ed6c3f1..8a24dac008817 100755 --- a/docs/src/main/asciidoc/writing-extensions.adoc +++ b/docs/src/main/asciidoc/writing-extensions.adoc @@ -1914,7 +1914,11 @@ We have an extension that is used to test for regressions in the extension proce author will typically need to perform using the test-extension code to illustrate how the task could be done. ==== Features and Capabilities -When you start a Quarkus instance, you will see a line like the one highlighted in this example: + +===== Features + +A _feature_ represents a functionality provided by an extension. +The name of the feature gets displayed in the log during application bootstrap. .Example Startup Lines [source, bash] @@ -1924,27 +1928,24 @@ When you start a Quarkus instance, you will see a line like the one highlighted ---- <1> A list of features installed in the runtime image -The features listed reflect the types of extensions that are installed. An extension declares its display name - using a <> method that produces a `FeatureBuildItem` like this TestProcessor#featureBuildItem() method example: +A feature can be registered in a <> method that produces a `FeatureBuildItem`: - -.TestProcessor#featureBuildItem() +.TestProcessor#feature() [source,java] ---- - /** - * Register a extension capability and feature - * - * @return test-extension feature build item - */ - @BuildStep(providesCapabilities = "io.quarkus.test-extension") - FeatureBuildItem featureBuildItem() { + @BuildStep + FeatureBuildItem feature() { return new FeatureBuildItem("test-extension"); } ---- -The feature name should map to a label in the extension's devtools/common/src/main/filtered/extensions.json entry so that +The name of the feature should only contain lowercase characters, words are separated by dash; e.g. `security-jpa`. +An extension should provide at most one feature and the name must be unique. +If multiple extensions register a feature of the same name the build fails. + +The feature name should also map to a label in the extension's `devtools/common/src/main/filtered/extensions.json` entry so that the feature name displayed by the startup line matches a label that one can used to select the extension when creating a project -using the Quarkus maven plugin as shown in this example taken from the Writing JSON REST Services guide where the "resteasy-jsonb" feature is referenced: +using the Quarkus maven plugin as shown in this example taken from the link:rest-json[Writing JSON REST Services] guide where the `resteasy-jsonb` feature is referenced: [source,shell,subs=attributes+] ---- @@ -1957,6 +1958,40 @@ mvn io.quarkus:quarkus-maven-plugin:{quarkus-version}:create \ cd rest-json ---- +===== Capabilities + +A _capability_ represents a technical capability that can be queried by other extensions. +An extension may provide multiple capabilities and multiple extensions can provide the same capability. +By default, capabilities are not displayed to users. + +Capabilities can be registered in a <> method that produces a `CapabilityBuildItem`: + +.TestProcessor#capability() +[source,java] +---- + @BuildStep + void capabilities(BuildProducer capabilityProducer) { + capabilityProducer.produce(new CapabilityBuildItem("org.acme.test-transactions")); + capabilityProducer.produce(new CapabilityBuildItem("org.acme.test-metrics")); + } +---- + +Extensions can consume registered capabilities using the `Capabilities` build item: + +.TestProcessor#doSomeCoolStuff() +[source,java] +---- + @BuildStep + void doSomeCoolStuff(Capabilities capabilities) { + if (capabilities.isPresent(Capability.TRANSACTIONS)) { + // do something only if JTA transactions are in... + } + } +---- + +Capabilities should follow the naming conventions of Java packages; e.g. `io.quarkus.security.jpa`. +Capabilities provided by core extensions should be listed in the `io.quarkus.deployment.Capability` enum and their name should always start with the `io.quarkus` prefix. + ==== Bean Defining Annotations The CDI layer processes CDI beans that are either explicitly registered or that it discovers based on bean defining annotations as defined in http://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#bean_defining_annotations[2.5.1. Bean defining annotations]. You can expand this set of annotations to include annotations your extension processes using a `BeanDefiningAnnotationBuildItem` as shown in this `TestProcessor#registerBeanDefinningAnnotations` example: diff --git a/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java b/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java index 23c4012566214..f9ec074539066 100644 --- a/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java +++ b/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AgroalProcessor.java @@ -41,6 +41,8 @@ import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig; import io.quarkus.datasource.runtime.DataSourcesRuntimeConfig; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -69,8 +71,8 @@ class AgroalProcessor { @BuildStep void agroal(BuildProducer feature, BuildProducer capability) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.AGROAL)); - capability.produce(new CapabilityBuildItem(Capabilities.AGROAL)); + feature.produce(new FeatureBuildItem(Feature.AGROAL)); + capability.produce(new CapabilityBuildItem(Capability.AGROAL)); } @BuildStep @@ -121,7 +123,7 @@ void build( java.sql.ResultSet[].class.getName())); // Enable SSL support by default - sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.AGROAL)); + sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.AGROAL.getName())); } private static void validateBuildTimeConfig(AggregatedDataSourceBuildTimeConfigBuildItem aggregatedConfig) { @@ -175,7 +177,7 @@ private DataSourceSupport getDataSourceSupport( } return new DataSourceSupport(sslNativeConfig.isExplicitlyDisabled(), - capabilities.isCapabilityPresent(Capabilities.METRICS), dataSourceSupportEntries); + capabilities.isPresent(Capability.METRICS), dataSourceSupportEntries); } @Record(ExecutionTime.STATIC_INIT) diff --git a/extensions/amazon-lambda/deployment/src/main/java/io/quarkus/amazon/lambda/deployment/AmazonLambdaProcessor.java b/extensions/amazon-lambda/deployment/src/main/java/io/quarkus/amazon/lambda/deployment/AmazonLambdaProcessor.java index 20457d1d2a879..fa3a57f31263b 100644 --- a/extensions/amazon-lambda/deployment/src/main/java/io/quarkus/amazon/lambda/deployment/AmazonLambdaProcessor.java +++ b/extensions/amazon-lambda/deployment/src/main/java/io/quarkus/amazon/lambda/deployment/AmazonLambdaProcessor.java @@ -29,6 +29,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.builder.BuildException; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -58,7 +59,7 @@ public final class AmazonLambdaProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.AMAZON_LAMBDA); + return new FeatureBuildItem(Feature.AMAZON_LAMBDA); } @BuildStep diff --git a/extensions/amazon-services/common/deployment/src/main/java/io/quarkus/amazon/common/deployment/AbstractAmazonServiceProcessor.java b/extensions/amazon-services/common/deployment/src/main/java/io/quarkus/amazon/common/deployment/AbstractAmazonServiceProcessor.java index 135fead5090fa..46b7ae6cf6982 100644 --- a/extensions/amazon-services/common/deployment/src/main/java/io/quarkus/amazon/common/deployment/AbstractAmazonServiceProcessor.java +++ b/extensions/amazon-services/common/deployment/src/main/java/io/quarkus/amazon/common/deployment/AbstractAmazonServiceProcessor.java @@ -18,6 +18,7 @@ import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; import io.quarkus.arc.processor.BuildExtension; import io.quarkus.arc.processor.InjectionPointInfo; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -29,7 +30,7 @@ abstract public class AbstractAmazonServiceProcessor { - abstract protected String amazonServiceClientName(); + abstract protected Feature amazonServiceClientName(); abstract protected String configName(); diff --git a/extensions/amazon-services/dynamodb/deployment/src/main/java/io/quarkus/amazon/dynamodb/deployment/DynamodbProcessor.java b/extensions/amazon-services/dynamodb/deployment/src/main/java/io/quarkus/amazon/dynamodb/deployment/DynamodbProcessor.java index a31645b006749..ee98f3ee319e5 100644 --- a/extensions/amazon-services/dynamodb/deployment/src/main/java/io/quarkus/amazon/dynamodb/deployment/DynamodbProcessor.java +++ b/extensions/amazon-services/dynamodb/deployment/src/main/java/io/quarkus/amazon/dynamodb/deployment/DynamodbProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class DynamodbProcessor extends AbstractAmazonServiceProcessor { DynamodbBuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_DYNAMODB; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_DYNAMODB; } @Override diff --git a/extensions/amazon-services/kms/deployment/src/main/java/io/quarkus/amazon/kms/deployment/KmsProcessor.java b/extensions/amazon-services/kms/deployment/src/main/java/io/quarkus/amazon/kms/deployment/KmsProcessor.java index 435ebef041ed7..4c97d707ae865 100644 --- a/extensions/amazon-services/kms/deployment/src/main/java/io/quarkus/amazon/kms/deployment/KmsProcessor.java +++ b/extensions/amazon-services/kms/deployment/src/main/java/io/quarkus/amazon/kms/deployment/KmsProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class KmsProcessor extends AbstractAmazonServiceProcessor { KmsBuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_KMS; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_KMS; } @Override diff --git a/extensions/amazon-services/s3/deployment/src/main/java/io/quarkus/amazon/s3/deployment/S3Processor.java b/extensions/amazon-services/s3/deployment/src/main/java/io/quarkus/amazon/s3/deployment/S3Processor.java index dc4a7b45b3ad1..57c0b4aaabfa9 100644 --- a/extensions/amazon-services/s3/deployment/src/main/java/io/quarkus/amazon/s3/deployment/S3Processor.java +++ b/extensions/amazon-services/s3/deployment/src/main/java/io/quarkus/amazon/s3/deployment/S3Processor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class S3Processor extends AbstractAmazonServiceProcessor { S3BuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_S3; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_S3; } @Override diff --git a/extensions/amazon-services/ses/deployment/src/main/java/io/quarkus/amazon/ses/deployment/SesProcessor.java b/extensions/amazon-services/ses/deployment/src/main/java/io/quarkus/amazon/ses/deployment/SesProcessor.java index 28acdef800e8e..5811f5e3a5306 100644 --- a/extensions/amazon-services/ses/deployment/src/main/java/io/quarkus/amazon/ses/deployment/SesProcessor.java +++ b/extensions/amazon-services/ses/deployment/src/main/java/io/quarkus/amazon/ses/deployment/SesProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class SesProcessor extends AbstractAmazonServiceProcessor { SesBuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_SES; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_SES; } @Override diff --git a/extensions/amazon-services/sns/deployment/src/main/java/io/quarkus/amazon/sns/deployment/SnsProcessor.java b/extensions/amazon-services/sns/deployment/src/main/java/io/quarkus/amazon/sns/deployment/SnsProcessor.java index 13e8388e007e7..00e237cb8b657 100644 --- a/extensions/amazon-services/sns/deployment/src/main/java/io/quarkus/amazon/sns/deployment/SnsProcessor.java +++ b/extensions/amazon-services/sns/deployment/src/main/java/io/quarkus/amazon/sns/deployment/SnsProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class SnsProcessor extends AbstractAmazonServiceProcessor { SnsBuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_SNS; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_SNS; } @Override diff --git a/extensions/amazon-services/sqs/deployment/src/main/java/io/quarkus/amazon/sqs/deployment/SqsProcessor.java b/extensions/amazon-services/sqs/deployment/src/main/java/io/quarkus/amazon/sqs/deployment/SqsProcessor.java index 3a3daf28e504a..6ba7663a0400b 100644 --- a/extensions/amazon-services/sqs/deployment/src/main/java/io/quarkus/amazon/sqs/deployment/SqsProcessor.java +++ b/extensions/amazon-services/sqs/deployment/src/main/java/io/quarkus/amazon/sqs/deployment/SqsProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -34,8 +35,8 @@ public class SqsProcessor extends AbstractAmazonServiceProcessor { SqsBuildTimeConfig buildTimeConfig; @Override - protected String amazonServiceClientName() { - return FeatureBuildItem.AMAZON_SQS; + protected Feature amazonServiceClientName() { + return Feature.AMAZON_SQS; } @Override diff --git a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ArcProcessor.java b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ArcProcessor.java index 5ffa0a8730aa8..02c15b2acd30a 100644 --- a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ArcProcessor.java +++ b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ArcProcessor.java @@ -55,6 +55,8 @@ import io.quarkus.arc.runtime.LifecycleEventRunner; import io.quarkus.bootstrap.BootstrapDebug; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -101,7 +103,12 @@ public class ArcProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.CDI_ARC); + return new CapabilityBuildItem(Capability.CDI); + } + + @BuildStep + FeatureBuildItem feature() { + return new FeatureBuildItem(Feature.CDI); } @BuildStep @@ -136,7 +143,6 @@ public ContextRegistrationPhaseBuildItem initialize( List removalExclusions, Optional testClassPredicate, Capabilities capabilities, - BuildProducer feature, CustomScopeAnnotationsBuildItem scopes, LaunchModeBuildItem launchModeBuildItem) { @@ -145,8 +151,6 @@ public ContextRegistrationPhaseBuildItem initialize( " Please use one of " + ArcConfig.ALLOWED_REMOVE_UNUSED_BEANS_VALUES); } - feature.produce(new FeatureBuildItem(FeatureBuildItem.CDI)); - List additionalBeansTypes = beanArchiveIndex.getAdditionalBeans(); Set generatedClassNames = beanArchiveIndex.getGeneratedClassNames(); IndexView index = beanArchiveIndex.getIndex(); @@ -264,7 +268,7 @@ public boolean test(BeanInfo bean) { }); } builder.setTransformUnproxyableClasses(arcConfig.transformUnproxyableClasses); - builder.setJtaCapabilities(capabilities.isCapabilityPresent(Capabilities.TRANSACTIONS)); + builder.setJtaCapabilities(capabilities.isPresent(Capability.TRANSACTIONS)); builder.setGenerateSources(BootstrapDebug.DEBUG_SOURCES_DIR != null); builder.setAllowMocking(launchModeBuildItem.getLaunchMode() == LaunchMode.TEST); diff --git a/extensions/artemis-core/deployment/src/main/java/io/quarkus/artemis/core/deployment/ArtemisCoreProcessor.java b/extensions/artemis-core/deployment/src/main/java/io/quarkus/artemis/core/deployment/ArtemisCoreProcessor.java index 1f5d613c4417f..f3dd5fe2d86e4 100644 --- a/extensions/artemis-core/deployment/src/main/java/io/quarkus/artemis/core/deployment/ArtemisCoreProcessor.java +++ b/extensions/artemis-core/deployment/src/main/java/io/quarkus/artemis/core/deployment/ArtemisCoreProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.artemis.core.runtime.ArtemisCoreProducer; import io.quarkus.artemis.core.runtime.ArtemisCoreRecorder; import io.quarkus.artemis.core.runtime.ArtemisRuntimeConfig; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -97,7 +98,7 @@ void load(BuildProducer additionalBean, BuildProducer additionalBean, BuildProducer artemisJms) { artemisJms.produce(new ArtemisJmsBuildItem()); - feature.produce(new FeatureBuildItem(FeatureBuildItem.ARTEMIS_JMS)); + feature.produce(new FeatureBuildItem(Feature.ARTEMIS_JMS)); additionalBean.produce(AdditionalBeanBuildItem.unremovableOf(ArtemisJmsProducer.class)); } diff --git a/extensions/cache/deployment/src/main/java/io/quarkus/cache/deployment/CacheProcessor.java b/extensions/cache/deployment/src/main/java/io/quarkus/cache/deployment/CacheProcessor.java index 76d509c11d0c9..355b1a9140d73 100644 --- a/extensions/cache/deployment/src/main/java/io/quarkus/cache/deployment/CacheProcessor.java +++ b/extensions/cache/deployment/src/main/java/io/quarkus/cache/deployment/CacheProcessor.java @@ -33,6 +33,7 @@ import io.quarkus.cache.runtime.CacheResultInterceptor; import io.quarkus.cache.runtime.caffeine.CaffeineCacheBuildRecorder; import io.quarkus.cache.runtime.caffeine.CaffeineCacheInfo; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -43,7 +44,7 @@ class CacheProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.CACHE); + return new FeatureBuildItem(Feature.CACHE); } @BuildStep diff --git a/extensions/config-yaml/deployment/src/main/java/io/quarkus/config/yaml/deployment/ConfigYamlProcessor.java b/extensions/config-yaml/deployment/src/main/java/io/quarkus/config/yaml/deployment/ConfigYamlProcessor.java index 12d6440a3aa1e..f400dfd85e9cd 100644 --- a/extensions/config-yaml/deployment/src/main/java/io/quarkus/config/yaml/deployment/ConfigYamlProcessor.java +++ b/extensions/config-yaml/deployment/src/main/java/io/quarkus/config/yaml/deployment/ConfigYamlProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.config.yaml.deployment; import io.quarkus.config.yaml.runtime.ApplicationYamlProvider; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -10,7 +11,7 @@ public final class ConfigYamlProcessor { @BuildStep public FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.CONFIG_YAML); + return new FeatureBuildItem(Feature.CONFIG_YAML); } @BuildStep diff --git a/extensions/consul-config/deployment/src/main/java/io/quarkus/consul/config/ConsulConfigProcessor.java b/extensions/consul-config/deployment/src/main/java/io/quarkus/consul/config/ConsulConfigProcessor.java index ad63d50728d86..bc03d3cb487dd 100644 --- a/extensions/consul-config/deployment/src/main/java/io/quarkus/consul/config/ConsulConfigProcessor.java +++ b/extensions/consul-config/deployment/src/main/java/io/quarkus/consul/config/ConsulConfigProcessor.java @@ -3,6 +3,7 @@ import io.quarkus.consul.config.runtime.ConsulConfig; import io.quarkus.consul.config.runtime.ConsulConfigRecorder; import io.quarkus.consul.config.runtime.Response; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -16,12 +17,12 @@ public class ConsulConfigProcessor { @BuildStep public void feature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.CONSUL_CONFIG)); + feature.produce(new FeatureBuildItem(Feature.CONSUL_CONFIG)); } @BuildStep public void enableSsl(BuildProducer extensionSslNativeSupport) { - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.CONSUL_CONFIG)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.CONSUL_CONFIG)); } @BuildStep diff --git a/extensions/container-image/container-image-docker/deployment/src/main/java/io/quarkus/container/image/docker/deployment/DockerProcessor.java b/extensions/container-image/container-image-docker/deployment/src/main/java/io/quarkus/container/image/docker/deployment/DockerProcessor.java index 6c391e8d54319..5d91520201094 100644 --- a/extensions/container-image/container-image-docker/deployment/src/main/java/io/quarkus/container/image/docker/deployment/DockerProcessor.java +++ b/extensions/container-image/container-image-docker/deployment/src/main/java/io/quarkus/container/image/docker/deployment/DockerProcessor.java @@ -25,7 +25,7 @@ import io.quarkus.container.spi.ContainerImageBuildRequestBuildItem; import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.container.spi.ContainerImagePushRequestBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -49,7 +49,7 @@ public class DockerProcessor { @BuildStep public CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.CONTAINER_IMAGE_DOCKER); + return new CapabilityBuildItem(Capability.CONTAINER_IMAGE_DOCKER); } @BuildStep(onlyIf = { IsNormal.class }, onlyIfNot = NativeBuild.class) diff --git a/extensions/container-image/container-image-jib/deployment/src/main/java/io/quarkus/container/image/jib/deployment/JibProcessor.java b/extensions/container-image/container-image-jib/deployment/src/main/java/io/quarkus/container/image/jib/deployment/JibProcessor.java index 92a323ed2a65f..323bb029a034f 100644 --- a/extensions/container-image/container-image-jib/deployment/src/main/java/io/quarkus/container/image/jib/deployment/JibProcessor.java +++ b/extensions/container-image/container-image-jib/deployment/src/main/java/io/quarkus/container/image/jib/deployment/JibProcessor.java @@ -39,7 +39,7 @@ import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.container.spi.ContainerImageLabelBuildItem; import io.quarkus.container.spi.ContainerImagePushRequestBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -64,7 +64,7 @@ public class JibProcessor { @BuildStep public CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.CONTAINER_IMAGE_JIB); + return new CapabilityBuildItem(Capability.CONTAINER_IMAGE_JIB); } @BuildStep(onlyIf = { IsNormal.class, JibBuild.class }, onlyIfNot = NativeBuild.class) diff --git a/extensions/container-image/container-image-s2i/deployment/src/main/java/io/quarkus/container/image/s2i/deployment/S2iProcessor.java b/extensions/container-image/container-image-s2i/deployment/src/main/java/io/quarkus/container/image/s2i/deployment/S2iProcessor.java index a5b2fa3efa15c..0ebfe9600cf4b 100644 --- a/extensions/container-image/container-image-s2i/deployment/src/main/java/io/quarkus/container/image/s2i/deployment/S2iProcessor.java +++ b/extensions/container-image/container-image-s2i/deployment/src/main/java/io/quarkus/container/image/s2i/deployment/S2iProcessor.java @@ -47,7 +47,7 @@ import io.quarkus.container.spi.ContainerImageBuildRequestBuildItem; import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.container.spi.ContainerImagePushRequestBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -77,7 +77,7 @@ public class S2iProcessor { @BuildStep public CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.CONTAINER_IMAGE_S2I); + return new CapabilityBuildItem(Capability.CONTAINER_IMAGE_S2I); } @BuildStep(onlyIf = IsNormal.class, onlyIfNot = NativeBuild.class) diff --git a/extensions/container-image/deployment/src/main/java/io/quarkus/container/image/deployment/ContainerImageCapabilitiesUtil.java b/extensions/container-image/deployment/src/main/java/io/quarkus/container/image/deployment/ContainerImageCapabilitiesUtil.java index 147caae9e8e05..c719c72bdea0b 100644 --- a/extensions/container-image/deployment/src/main/java/io/quarkus/container/image/deployment/ContainerImageCapabilitiesUtil.java +++ b/extensions/container-image/deployment/src/main/java/io/quarkus/container/image/deployment/ContainerImageCapabilitiesUtil.java @@ -7,14 +7,15 @@ import java.util.Set; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; public final class ContainerImageCapabilitiesUtil { public final static Map CAPABILITY_TO_EXTENSION_NAME = new HashMap<>(); static { - CAPABILITY_TO_EXTENSION_NAME.put(Capabilities.CONTAINER_IMAGE_JIB, "quarkus-container-image-jib"); - CAPABILITY_TO_EXTENSION_NAME.put(Capabilities.CONTAINER_IMAGE_DOCKER, "quarkus-container-image-docker"); - CAPABILITY_TO_EXTENSION_NAME.put(Capabilities.CONTAINER_IMAGE_S2I, "quarkus-container-image-s2i"); + CAPABILITY_TO_EXTENSION_NAME.put(Capability.CONTAINER_IMAGE_JIB.getName(), "quarkus-container-image-jib"); + CAPABILITY_TO_EXTENSION_NAME.put(Capability.CONTAINER_IMAGE_DOCKER.getName(), "quarkus-container-image-docker"); + CAPABILITY_TO_EXTENSION_NAME.put(Capability.CONTAINER_IMAGE_S2I.getName(), "quarkus-container-image-s2i"); } private ContainerImageCapabilitiesUtil() { @@ -37,9 +38,9 @@ public static Optional getActiveContainerImageCapability(Capabilities ca private static Set getContainerImageCapabilities(Capabilities capabilities) { Set activeContainerImageCapabilities = new HashSet<>(); for (String capability : capabilities.getCapabilities()) { - if (capability.toLowerCase().contains("container-image")) { + if (capability.toLowerCase().contains("container.image")) { if (!CAPABILITY_TO_EXTENSION_NAME.containsKey(capability)) { - throw new IllegalArgumentException("Unknown container-image capability: " + capability); + throw new IllegalArgumentException("Unknown container image capability: " + capability); } activeContainerImageCapabilities.add(CAPABILITY_TO_EXTENSION_NAME.get(capability)); } diff --git a/extensions/elasticsearch-rest-client/deployment/src/main/java/io/quarkus/elasticsearch/restclient/deployment/ElasticsearchRestClientProcessor.java b/extensions/elasticsearch-rest-client/deployment/src/main/java/io/quarkus/elasticsearch/restclient/deployment/ElasticsearchRestClientProcessor.java index 6d5e2f9eb736d..a867768b6b965 100644 --- a/extensions/elasticsearch-rest-client/deployment/src/main/java/io/quarkus/elasticsearch/restclient/deployment/ElasticsearchRestClientProcessor.java +++ b/extensions/elasticsearch-rest-client/deployment/src/main/java/io/quarkus/elasticsearch/restclient/deployment/ElasticsearchRestClientProcessor.java @@ -1,15 +1,15 @@ package io.quarkus.elasticsearch.restclient.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem; -import io.quarkus.deployment.builditem.FeatureBuildItem; class ElasticsearchRestClientProcessor { @BuildStep public void build(BuildProducer extensionSslNativeSupport) { // Indicates that this extension would like the SSL support to be enabled - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.ELASTICSEARCH_REST_CLIENT)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.ELASTICSEARCH_REST_CLIENT.getName())); } } diff --git a/extensions/elytron-security-jdbc/deployment/src/main/java/io/quarkus/elytron/security/jdbc/deployment/ElytronSecurityJdbcProcessor.java b/extensions/elytron-security-jdbc/deployment/src/main/java/io/quarkus/elytron/security/jdbc/deployment/ElytronSecurityJdbcProcessor.java index cbb1f296ca19b..bbbf4778dd27e 100644 --- a/extensions/elytron-security-jdbc/deployment/src/main/java/io/quarkus/elytron/security/jdbc/deployment/ElytronSecurityJdbcProcessor.java +++ b/extensions/elytron-security-jdbc/deployment/src/main/java/io/quarkus/elytron/security/jdbc/deployment/ElytronSecurityJdbcProcessor.java @@ -6,7 +6,8 @@ import io.quarkus.agroal.deployment.JdbcDataSourceBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -25,12 +26,12 @@ class ElytronSecurityJdbcProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SECURITY_ELYTRON_JDBC); + return new CapabilityBuildItem(Capability.SECURITY_ELYTRON_JDBC); } @BuildStep() FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY_JDBC); + return new FeatureBuildItem(Feature.SECURITY_JDBC); } /** diff --git a/extensions/elytron-security-ldap/deployment/src/main/java/io/quarkus/elytron/security/ldap/deployment/ElytronSecurityLdapProcessor.java b/extensions/elytron-security-ldap/deployment/src/main/java/io/quarkus/elytron/security/ldap/deployment/ElytronSecurityLdapProcessor.java index acf5da21ed6d1..9237bc6ca4065 100644 --- a/extensions/elytron-security-ldap/deployment/src/main/java/io/quarkus/elytron/security/ldap/deployment/ElytronSecurityLdapProcessor.java +++ b/extensions/elytron-security-ldap/deployment/src/main/java/io/quarkus/elytron/security/ldap/deployment/ElytronSecurityLdapProcessor.java @@ -3,7 +3,8 @@ import org.wildfly.security.auth.server.SecurityRealm; import io.quarkus.arc.deployment.BeanContainerBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -24,12 +25,12 @@ class ElytronSecurityLdapProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SECURITY_ELYTRON_LDAP); + return new CapabilityBuildItem(Capability.SECURITY_ELYTRON_LDAP); } @BuildStep() FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY_LDAP); + return new FeatureBuildItem(Feature.SECURITY_LDAP); } /** diff --git a/extensions/elytron-security-oauth2/deployment/src/main/java/io/quarkus/elytron/security/oauth2/deployment/OAuth2DeploymentProcessor.java b/extensions/elytron-security-oauth2/deployment/src/main/java/io/quarkus/elytron/security/oauth2/deployment/OAuth2DeploymentProcessor.java index ee9a6b1dd4a8a..2f9747376ef9c 100644 --- a/extensions/elytron-security-oauth2/deployment/src/main/java/io/quarkus/elytron/security/oauth2/deployment/OAuth2DeploymentProcessor.java +++ b/extensions/elytron-security-oauth2/deployment/src/main/java/io/quarkus/elytron/security/oauth2/deployment/OAuth2DeploymentProcessor.java @@ -6,7 +6,8 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -35,17 +36,17 @@ class OAuth2DeploymentProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SECURITY_ELYTRON_OAUTH2); + return new CapabilityBuildItem(Capability.SECURITY_ELYTRON_OAUTH2); } @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY_OAUTH2); + return new FeatureBuildItem(Feature.SECURITY_OAUTH2); } @BuildStep ExtensionSslNativeSupportBuildItem activateSslNativeSupport() { - return new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.SECURITY_OAUTH2); + return new ExtensionSslNativeSupportBuildItem(Feature.SECURITY_OAUTH2); } /** diff --git a/extensions/elytron-security-properties-file/deployment/src/main/java/io/quarkus/elytron/security/properties/deployment/ElytronPropertiesProcessor.java b/extensions/elytron-security-properties-file/deployment/src/main/java/io/quarkus/elytron/security/properties/deployment/ElytronPropertiesProcessor.java index 5bc983551e649..26ea2583c0aa8 100644 --- a/extensions/elytron-security-properties-file/deployment/src/main/java/io/quarkus/elytron/security/properties/deployment/ElytronPropertiesProcessor.java +++ b/extensions/elytron-security-properties-file/deployment/src/main/java/io/quarkus/elytron/security/properties/deployment/ElytronPropertiesProcessor.java @@ -3,6 +3,7 @@ import org.jboss.logging.Logger; import org.wildfly.security.auth.server.SecurityRealm; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -41,7 +42,7 @@ class ElytronPropertiesProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY_PROPERTIES_FILE); + return new FeatureBuildItem(Feature.SECURITY_PROPERTIES_FILE); } /** diff --git a/extensions/flyway/deployment/src/main/java/io/quarkus/flyway/FlywayProcessor.java b/extensions/flyway/deployment/src/main/java/io/quarkus/flyway/FlywayProcessor.java index 93c080cf454f0..d04388a3b86e7 100644 --- a/extensions/flyway/deployment/src/main/java/io/quarkus/flyway/FlywayProcessor.java +++ b/extensions/flyway/deployment/src/main/java/io/quarkus/flyway/FlywayProcessor.java @@ -39,7 +39,8 @@ import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.arc.processor.DotNames; import io.quarkus.datasource.common.runtime.DataSourceUtil; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -73,7 +74,7 @@ class FlywayProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.FLYWAY); + return new CapabilityBuildItem(Capability.FLYWAY); } @BuildStep @@ -98,7 +99,7 @@ void build(BuildProducer featureProducer, CombinedIndexBuildItem combinedIndexBuildItem, List jdbcDataSourceBuildItems) throws IOException, URISyntaxException { - featureProducer.produce(new FeatureBuildItem(FeatureBuildItem.FLYWAY)); + featureProducer.produce(new FeatureBuildItem(Feature.FLYWAY)); Collection dataSourceNames = getDataSourceNames(jdbcDataSourceBuildItems); diff --git a/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcClientProcessor.java b/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcClientProcessor.java index 9b5a67fd22160..4f79229db3149 100644 --- a/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcClientProcessor.java +++ b/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcClientProcessor.java @@ -1,6 +1,6 @@ package io.quarkus.grpc.deployment; -import static io.quarkus.deployment.builditem.FeatureBuildItem.GRPC_CLIENT; +import static io.quarkus.deployment.Feature.GRPC_CLIENT; import static io.quarkus.grpc.deployment.GrpcDotNames.CREATE_CHANNEL_METHOD; import static io.quarkus.grpc.deployment.GrpcDotNames.RETRIEVE_CHANNEL_METHOD; diff --git a/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcServerProcessor.java b/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcServerProcessor.java index c461875724b7d..7c28633a0b6ab 100644 --- a/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcServerProcessor.java +++ b/extensions/grpc/deployment/src/main/java/io/quarkus/grpc/deployment/GrpcServerProcessor.java @@ -1,6 +1,6 @@ package io.quarkus.grpc.deployment; -import static io.quarkus.deployment.builditem.FeatureBuildItem.GRPC_SERVER; +import static io.quarkus.deployment.Feature.GRPC_SERVER; import java.lang.reflect.Modifier; import java.util.Collection; diff --git a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java index f44c7af4d8c87..84f02ab18ad07 100644 --- a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java +++ b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java @@ -72,6 +72,8 @@ import io.quarkus.arc.deployment.staticmethods.InterceptedStaticMethodsTransformersRegisteredBuildItem; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Consume; @@ -144,7 +146,7 @@ public final class HibernateOrmProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.HIBERNATE_ORM); + return new CapabilityBuildItem(Capability.HIBERNATE_ORM); } // We do our own enhancement during the compilation phase, so disable any @@ -295,10 +297,10 @@ public void build(RecorderContext recorderContext, HibernateOrmRecorder recorder BuildProducer feature, BuildProducer beanContainerListener) throws Exception { - feature.produce(new FeatureBuildItem(FeatureBuildItem.HIBERNATE_ORM)); + feature.produce(new FeatureBuildItem(Feature.HIBERNATE_ORM)); final boolean enableORM = hasEntities(domainObjects, nonJpaModelBuildItems); - final boolean hibernateReactivePresent = capabilities.isCapabilityPresent(Capabilities.HIBERNATE_REACTIVE); + final boolean hibernateReactivePresent = capabilities.isPresent(Capability.HIBERNATE_REACTIVE); //The Hibernate Reactive extension is able to handle registration of PersistenceProviders for both reactive and //traditional blocking Hibernate, by depending on this module and delegating to this code. //So when the Hibernate Reactive extension is present, trust that it will register its own PersistenceProvider @@ -538,7 +540,7 @@ public void build(HibernateOrmRecorder recorder, MultiTenancyStrategy strategy = MultiTenancyStrategy .valueOf(hibernateConfig.multitenant.orElse(MultiTenancyStrategy.NONE.name())); buildProducer.produce(new BeanContainerListenerBuildItem( - recorder.initializeJpa(capabilities.isCapabilityPresent(Capabilities.TRANSACTIONS), strategy, + recorder.initializeJpa(capabilities.isPresent(Capability.TRANSACTIONS), strategy, hibernateConfig.multitenantSchemaDatasource.orElse(null)))); // Bootstrap all persistence units diff --git a/extensions/hibernate-reactive/deployment/src/main/java/io/quarkus/hibernate/reactive/deployment/HibernateReactiveProcessor.java b/extensions/hibernate-reactive/deployment/src/main/java/io/quarkus/hibernate/reactive/deployment/HibernateReactiveProcessor.java index 5a317f4ce090c..9d5af98560777 100644 --- a/extensions/hibernate-reactive/deployment/src/main/java/io/quarkus/hibernate/reactive/deployment/HibernateReactiveProcessor.java +++ b/extensions/hibernate-reactive/deployment/src/main/java/io/quarkus/hibernate/reactive/deployment/HibernateReactiveProcessor.java @@ -5,7 +5,8 @@ import java.util.List; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -27,12 +28,12 @@ public final class HibernateReactiveProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.HIBERNATE_REACTIVE); + return new FeatureBuildItem(Feature.HIBERNATE_REACTIVE); } @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.HIBERNATE_REACTIVE); + return new CapabilityBuildItem(Capability.HIBERNATE_REACTIVE); } @BuildStep diff --git a/extensions/hibernate-search-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/elasticsearch/HibernateSearchElasticsearchProcessor.java b/extensions/hibernate-search-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/elasticsearch/HibernateSearchElasticsearchProcessor.java index 879ad36eb7461..e26c96414677c 100644 --- a/extensions/hibernate-search-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/elasticsearch/HibernateSearchElasticsearchProcessor.java +++ b/extensions/hibernate-search-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/elasticsearch/HibernateSearchElasticsearchProcessor.java @@ -27,6 +27,7 @@ import org.jboss.jandex.UnresolvedTypeVariable; import org.jboss.jandex.VoidType; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -64,7 +65,7 @@ public void build(HibernateSearchElasticsearchRecorder recorder, BuildProducer reflectiveHierarchy, BuildProducer integrations, BuildProducer feature) throws Exception { - feature.produce(new FeatureBuildItem(FeatureBuildItem.HIBERNATE_SEARCH_ELASTICSEARCH)); + feature.produce(new FeatureBuildItem(Feature.HIBERNATE_SEARCH_ELASTICSEARCH)); IndexView index = combinedIndexBuildItem.getIndex(); diff --git a/extensions/hibernate-validator/deployment/src/main/java/io/quarkus/hibernate/validator/deployment/HibernateValidatorProcessor.java b/extensions/hibernate-validator/deployment/src/main/java/io/quarkus/hibernate/validator/deployment/HibernateValidatorProcessor.java index 1838a4a8c1890..40fd3e577705c 100644 --- a/extensions/hibernate-validator/deployment/src/main/java/io/quarkus/hibernate/validator/deployment/HibernateValidatorProcessor.java +++ b/extensions/hibernate-validator/deployment/src/main/java/io/quarkus/hibernate/validator/deployment/HibernateValidatorProcessor.java @@ -45,6 +45,8 @@ import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.arc.processor.BeanInfo; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -111,7 +113,7 @@ void registerAdditionalBeans(BuildProducer additionalBe // The CDI interceptor which will validate the methods annotated with @MethodValidated additionalBeans.produce(new AdditionalBeanBuildItem(MethodValidationInterceptor.class)); - if (capabilities.isCapabilityPresent(Capabilities.RESTEASY)) { + if (capabilities.isPresent(Capability.RESTEASY)) { // The CDI interceptor which will validate the methods annotated with @JaxrsEndPointValidated additionalBeans.produce(new AdditionalBeanBuildItem( "io.quarkus.hibernate.validator.runtime.jaxrs.JaxrsEndPointValidationInterceptor")); @@ -149,7 +151,7 @@ public void build(HibernateValidatorRecorder recorder, RecorderContext recorderC LocalesBuildTimeConfig localesBuildTimeConfig, HibernateValidatorBuildTimeConfig hibernateValidatorBuildTimeConfig) throws Exception { - feature.produce(new FeatureBuildItem(FeatureBuildItem.HIBERNATE_VALIDATOR)); + feature.produce(new FeatureBuildItem(Feature.HIBERNATE_VALIDATOR)); // we use both indexes to support both generated beans and jars that contain no CDI beans but only Validation annotations IndexView indexView = CompositeIndex.create(beanArchiveIndexBuildItem.getIndex(), combinedIndexBuildItem.getIndex()); @@ -248,7 +250,7 @@ public void build(HibernateValidatorRecorder recorder, RecorderContext recorderC .produce(new BeanContainerListenerBuildItem( recorder.initializeValidatorFactory(classesToBeValidated, detectedBuiltinConstraints, hasXmlConfiguration(), - capabilities.isCapabilityPresent(Capabilities.HIBERNATE_ORM), + capabilities.isPresent(Capability.HIBERNATE_ORM), shutdownContext, localesBuildTimeConfig, hibernateValidatorBuildTimeConfig))); diff --git a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/InfinispanClientProcessor.java b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/InfinispanClientProcessor.java index 097d8858f4ad1..0e5761ebbc7bc 100644 --- a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/InfinispanClientProcessor.java +++ b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/InfinispanClientProcessor.java @@ -40,6 +40,7 @@ import io.quarkus.arc.deployment.BeanContainerListenerBuildItem; import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.deployment.ApplicationArchive; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -79,13 +80,13 @@ InfinispanPropertiesBuildItem setup(ApplicationArchivesBuildItem applicationArch BuildProducer nativeImageConfig, CombinedIndexBuildItem applicationIndexBuildItem) throws ClassNotFoundException, IOException { - feature.produce(new FeatureBuildItem(FeatureBuildItem.INFINISPAN_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.INFINISPAN_CLIENT)); additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(InfinispanClientProducer.class)); systemProperties.produce(new SystemPropertyBuildItem("io.netty.noUnsafe", "true")); hotDeployment.produce(new HotDeploymentWatchedFileBuildItem(HOTROD_CLIENT_PROPERTIES)); // Enable SSL support by default - sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.INFINISPAN_CLIENT)); + sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.INFINISPAN_CLIENT)); InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(HOTROD_CLIENT_PROPERTIES); Properties properties; diff --git a/extensions/infinispan-embedded/deployment/src/main/java/io/quarkus/infinispan/embedded/deployment/InfinispanEmbeddedProcessor.java b/extensions/infinispan-embedded/deployment/src/main/java/io/quarkus/infinispan/embedded/deployment/InfinispanEmbeddedProcessor.java index 3fc645addaba9..0395fa66f3f94 100644 --- a/extensions/infinispan-embedded/deployment/src/main/java/io/quarkus/infinispan/embedded/deployment/InfinispanEmbeddedProcessor.java +++ b/extensions/infinispan-embedded/deployment/src/main/java/io/quarkus/infinispan/embedded/deployment/InfinispanEmbeddedProcessor.java @@ -37,6 +37,7 @@ import org.jgroups.util.Util; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationIndexBuildItem; @@ -62,7 +63,7 @@ void setup(BuildProducer feature, BuildProducer resources, CombinedIndexBuildItem combinedIndexBuildItem, List excludedReflectionClasses, ApplicationIndexBuildItem applicationIndexBuildItem) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.INFINISPAN_EMBEDDED)); + feature.produce(new FeatureBuildItem(Feature.INFINISPAN_EMBEDDED)); additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(InfinispanEmbeddedProducer.class)); diff --git a/extensions/jackson/deployment/src/main/java/io/quarkus/jackson/deployment/JacksonProcessor.java b/extensions/jackson/deployment/src/main/java/io/quarkus/jackson/deployment/JacksonProcessor.java index 0d6ef1fd9d3f1..d76cbd354496f 100755 --- a/extensions/jackson/deployment/src/main/java/io/quarkus/jackson/deployment/JacksonProcessor.java +++ b/extensions/jackson/deployment/src/main/java/io/quarkus/jackson/deployment/JacksonProcessor.java @@ -30,9 +30,10 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.GeneratedBeanBuildItem; import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.deployment.builditem.CapabilityBuildItem; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyBuildItem; @@ -80,8 +81,8 @@ public class JacksonProcessor { @Inject List ignoreJsonDeserializeClassBuildItems; - @BuildStep(providesCapabilities = Capabilities.JACKSON) - void register() { + @BuildStep + CapabilityBuildItem register() { addReflectiveClass(true, false, "com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector", "com.fasterxml.jackson.databind.ser.std.SqlDateSerializer", @@ -141,6 +142,8 @@ void register() { // this needs to be registered manually since the runtime module is not indexed by Jandex additionalBeans.produce(new AdditionalBeanBuildItem(ObjectMapperProducer.class)); + + return new CapabilityBuildItem(Capability.JACKSON); } private void addReflectiveHierarchyClass(DotName className) { diff --git a/extensions/jaeger/deployment/src/main/java/io/quarkus/jaeger/deployment/JaegerProcessor.java b/extensions/jaeger/deployment/src/main/java/io/quarkus/jaeger/deployment/JaegerProcessor.java index ddb853661aee1..66623769a00c7 100644 --- a/extensions/jaeger/deployment/src/main/java/io/quarkus/jaeger/deployment/JaegerProcessor.java +++ b/extensions/jaeger/deployment/src/main/java/io/quarkus/jaeger/deployment/JaegerProcessor.java @@ -7,6 +7,8 @@ import org.eclipse.microprofile.metrics.Tag; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -32,10 +34,10 @@ void setupTracer(JaegerDeploymentRecorder jdr, JaegerBuildTimeConfig buildTimeCo ApplicationConfig appConfig, Capabilities capabilities, BuildProducer metricProducer) { // Indicates that this extension would like the SSL support to be enabled - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.JAEGER)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.JAEGER.getName())); if (buildTimeConfig.enabled) { - boolean metricsEnabled = capabilities.isCapabilityPresent(Capabilities.METRICS) + boolean metricsEnabled = capabilities.isPresent(Capability.METRICS) && buildTimeConfig.metricsEnabled; if (metricsEnabled) { produceMetrics(metricProducer); @@ -48,7 +50,7 @@ void setupTracer(JaegerDeploymentRecorder jdr, JaegerBuildTimeConfig buildTimeCo @BuildStep public void build(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.JAEGER)); + feature.produce(new FeatureBuildItem(Feature.JAEGER)); } @BuildStep diff --git a/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java b/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java index ff12c2b8d3bff..ab25e8f710528 100644 --- a/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java +++ b/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java @@ -5,6 +5,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -16,7 +18,7 @@ public class JDBCDerbyProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_DERBY); + return new FeatureBuildItem(Feature.JDBC_DERBY); } @BuildStep @@ -29,7 +31,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(DerbyAgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) .setUnremovable() diff --git a/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java b/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java index 721a1e5f91400..267e60034311b 100644 --- a/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java +++ b/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java @@ -5,6 +5,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -15,7 +17,7 @@ public class JDBCH2Processor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_H2); + return new FeatureBuildItem(Feature.JDBC_H2); } @BuildStep @@ -28,7 +30,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(H2AgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) .setUnremovable() diff --git a/extensions/jdbc/jdbc-mariadb/deployment/src/main/java/io/quarkus/jdbc/mariadb/deployment/JDBCMariaDBProcessor.java b/extensions/jdbc/jdbc-mariadb/deployment/src/main/java/io/quarkus/jdbc/mariadb/deployment/JDBCMariaDBProcessor.java index 906172542f955..b79f5fb0be7aa 100644 --- a/extensions/jdbc/jdbc-mariadb/deployment/src/main/java/io/quarkus/jdbc/mariadb/deployment/JDBCMariaDBProcessor.java +++ b/extensions/jdbc/jdbc-mariadb/deployment/src/main/java/io/quarkus/jdbc/mariadb/deployment/JDBCMariaDBProcessor.java @@ -5,6 +5,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -15,7 +17,7 @@ public class JDBCMariaDBProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_MARIADB); + return new FeatureBuildItem(Feature.JDBC_MARIADB); } @BuildStep @@ -28,7 +30,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(MariaDBAgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) .setUnremovable() diff --git a/extensions/jdbc/jdbc-mssql/deployment/src/main/java/io/quarkus/jdbc/mssql/deployment/MsSQLProcessor.java b/extensions/jdbc/jdbc-mssql/deployment/src/main/java/io/quarkus/jdbc/mssql/deployment/MsSQLProcessor.java index 3438379b56f7b..60d5b05f79ebf 100644 --- a/extensions/jdbc/jdbc-mssql/deployment/src/main/java/io/quarkus/jdbc/mssql/deployment/MsSQLProcessor.java +++ b/extensions/jdbc/jdbc-mssql/deployment/src/main/java/io/quarkus/jdbc/mssql/deployment/MsSQLProcessor.java @@ -5,6 +5,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -18,7 +20,7 @@ public class MsSQLProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_MSSQL); + return new FeatureBuildItem(Feature.JDBC_MSSQL); } @BuildStep @@ -31,7 +33,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(MsSQLAgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) .setUnremovable() diff --git a/extensions/jdbc/jdbc-mysql/deployment/src/main/java/io/quarkus/jdbc/mysql/deployment/JDBCMySQLProcessor.java b/extensions/jdbc/jdbc-mysql/deployment/src/main/java/io/quarkus/jdbc/mysql/deployment/JDBCMySQLProcessor.java index 3455b3b728095..9947e8b332499 100644 --- a/extensions/jdbc/jdbc-mysql/deployment/src/main/java/io/quarkus/jdbc/mysql/deployment/JDBCMySQLProcessor.java +++ b/extensions/jdbc/jdbc-mysql/deployment/src/main/java/io/quarkus/jdbc/mysql/deployment/JDBCMySQLProcessor.java @@ -24,6 +24,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -41,7 +43,7 @@ public class JDBCMySQLProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_MYSQL); + return new FeatureBuildItem(Feature.JDBC_MYSQL); } @BuildStep @@ -54,7 +56,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(MySQLAgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) .setUnremovable() diff --git a/extensions/jdbc/jdbc-postgresql/deployment/src/main/java/io/quarkus/jdbc/postgresql/deployment/JDBCPostgreSQLProcessor.java b/extensions/jdbc/jdbc-postgresql/deployment/src/main/java/io/quarkus/jdbc/postgresql/deployment/JDBCPostgreSQLProcessor.java index 473002366b446..ae4e00e31e97e 100644 --- a/extensions/jdbc/jdbc-postgresql/deployment/src/main/java/io/quarkus/jdbc/postgresql/deployment/JDBCPostgreSQLProcessor.java +++ b/extensions/jdbc/jdbc-postgresql/deployment/src/main/java/io/quarkus/jdbc/postgresql/deployment/JDBCPostgreSQLProcessor.java @@ -5,6 +5,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -15,7 +17,7 @@ public class JDBCPostgreSQLProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JDBC_POSTGRESQL); + return new FeatureBuildItem(Feature.JDBC_POSTGRESQL); } @BuildStep @@ -28,7 +30,7 @@ void registerDriver(BuildProducer jdbcDriver, @BuildStep void configureAgroalConnection(BuildProducer additionalBeans, Capabilities capabilities) { - if (capabilities.isCapabilityPresent(Capabilities.AGROAL)) { + if (capabilities.isPresent(Capability.AGROAL)) { additionalBeans .produce(new AdditionalBeanBuildItem.Builder().addBeanClass(PostgreSQLAgroalConnectionConfigurer.class) .setDefaultScope(BuiltinScope.APPLICATION.getName()) diff --git a/extensions/jgit/deployment/src/main/java/io/quarkus/jgit/deployment/JGitProcessor.java b/extensions/jgit/deployment/src/main/java/io/quarkus/jgit/deployment/JGitProcessor.java index e00a8c82651fd..7426372e9acd8 100644 --- a/extensions/jgit/deployment/src/main/java/io/quarkus/jgit/deployment/JGitProcessor.java +++ b/extensions/jgit/deployment/src/main/java/io/quarkus/jgit/deployment/JGitProcessor.java @@ -3,6 +3,7 @@ import java.util.Arrays; import java.util.List; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -14,12 +15,12 @@ class JGitProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.JGIT); + return new FeatureBuildItem(Feature.JGIT); } @BuildStep ExtensionSslNativeSupportBuildItem activateSslNativeSupport() { - return new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.JGIT); + return new ExtensionSslNativeSupportBuildItem(Feature.JGIT); } @BuildStep diff --git a/extensions/jsch/deployment/src/main/java/io/quarkus/jsch/deployment/JSchProcessor.java b/extensions/jsch/deployment/src/main/java/io/quarkus/jsch/deployment/JSchProcessor.java index 632dca9933773..6fee8d35c23dc 100644 --- a/extensions/jsch/deployment/src/main/java/io/quarkus/jsch/deployment/JSchProcessor.java +++ b/extensions/jsch/deployment/src/main/java/io/quarkus/jsch/deployment/JSchProcessor.java @@ -1,9 +1,9 @@ package io.quarkus.jsch.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.EnableAllSecurityServicesBuildItem; import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem; -import io.quarkus.deployment.builditem.FeatureBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; import io.quarkus.jsch.runtime.PortWatcherRunTime; @@ -17,7 +17,7 @@ EnableAllSecurityServicesBuildItem enableAllSecurityServices() { @BuildStep ExtensionSslNativeSupportBuildItem sslNativeSupport() { - return new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.JSCH); + return new ExtensionSslNativeSupportBuildItem(Feature.JSCH); } @BuildStep diff --git a/extensions/jsonb/deployment/src/main/java/io/quarkus/jsonb/deployment/JsonbProcessor.java b/extensions/jsonb/deployment/src/main/java/io/quarkus/jsonb/deployment/JsonbProcessor.java index 6e1a4b945cf90..6c184a9be95b1 100755 --- a/extensions/jsonb/deployment/src/main/java/io/quarkus/jsonb/deployment/JsonbProcessor.java +++ b/extensions/jsonb/deployment/src/main/java/io/quarkus/jsonb/deployment/JsonbProcessor.java @@ -30,7 +30,7 @@ import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor; import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.arc.processor.BeanInfo; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -58,7 +58,7 @@ public class JsonbProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.JSONB); + return new CapabilityBuildItem(Capability.JSONB); } @BuildStep diff --git a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/KafkaProcessor.java b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/KafkaProcessor.java index c7b2f36e880e3..c6e5c8e10e359 100644 --- a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/KafkaProcessor.java +++ b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/KafkaProcessor.java @@ -42,6 +42,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -95,12 +96,12 @@ public void build(CombinedIndexBuildItem indexBuildItem, BuildProducer feature, LaunchModeBuildItem launchMode, NativeConfig config) throws IOException { - feature.produce(new FeatureBuildItem(FeatureBuildItem.KAFKA_STREAMS)); + feature.produce(new FeatureBuildItem(Feature.KAFKA_STREAMS)); registerClassesThatAreLoadedThroughReflection(reflectiveClasses, launchMode); registerClassesThatAreAccessedViaJni(jniRuntimeAccessibleClasses); diff --git a/extensions/keycloak-authorization/deployment/src/main/java/io/quarkus/keycloak/pep/deployment/KeycloakPolicyEnforcerBuildStep.java b/extensions/keycloak-authorization/deployment/src/main/java/io/quarkus/keycloak/pep/deployment/KeycloakPolicyEnforcerBuildStep.java index 3879d0d8b42ee..d28864b8e5448 100644 --- a/extensions/keycloak-authorization/deployment/src/main/java/io/quarkus/keycloak/pep/deployment/KeycloakPolicyEnforcerBuildStep.java +++ b/extensions/keycloak-authorization/deployment/src/main/java/io/quarkus/keycloak/pep/deployment/KeycloakPolicyEnforcerBuildStep.java @@ -4,6 +4,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; import io.quarkus.deployment.annotations.Record; @@ -21,7 +22,7 @@ public class KeycloakPolicyEnforcerBuildStep { @BuildStep FeatureBuildItem featureBuildItem() { - return new FeatureBuildItem(FeatureBuildItem.KEYCLOAK_AUTHORIZATION); + return new FeatureBuildItem(Feature.KEYCLOAK_AUTHORIZATION); } @BuildStep diff --git a/extensions/kotlin/deployment/src/main/java/io/quarkus/kotlin/deployment/KotlinProcessor.java b/extensions/kotlin/deployment/src/main/java/io/quarkus/kotlin/deployment/KotlinProcessor.java index b50d11b76f878..4182c20977ed7 100644 --- a/extensions/kotlin/deployment/src/main/java/io/quarkus/kotlin/deployment/KotlinProcessor.java +++ b/extensions/kotlin/deployment/src/main/java/io/quarkus/kotlin/deployment/KotlinProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.kotlin.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -12,7 +13,7 @@ public class KotlinProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.KOTLIN); + return new FeatureBuildItem(Feature.KOTLIN); } /* diff --git a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java index 502940876406d..1b994efe4f58c 100644 --- a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java +++ b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/KubernetesClientProcessor.java @@ -11,6 +11,7 @@ import org.jboss.logging.Logger; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationIndexBuildItem; @@ -48,7 +49,7 @@ public void process(ApplicationIndexBuildItem applicationIndex, CombinedIndexBui BuildProducer sslNativeSupport, BuildProducer additionalBeanBuildItemBuildItem) { - featureProducer.produce(new FeatureBuildItem(FeatureBuildItem.KUBERNETES_CLIENT)); + featureProducer.produce(new FeatureBuildItem(Feature.KUBERNETES_CLIENT)); roleProducer.produce(new KubernetesRoleBuildItem("view")); Set watchedClasses = new HashSet<>(); @@ -127,7 +128,7 @@ public void process(ApplicationIndexBuildItem applicationIndex, CombinedIndexBui .produce(new ReflectiveClassBuildItem(true, false, "io.fabric8.kubernetes.internal.KubernetesDeserializer")); // Enable SSL support by default - sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.KUBERNETES_CLIENT)); + sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.KUBERNETES_CLIENT)); // wire up the KubernetesClient bean support additionalBeanBuildItemBuildItem.produce(AdditionalBeanBuildItem.unremovableOf(KubernetesClientProducer.class)); diff --git a/extensions/kubernetes/spi/src/main/java/io/quarkus/kubernetes/spi/KubernetesPortBuildItem.java b/extensions/kubernetes/spi/src/main/java/io/quarkus/kubernetes/spi/KubernetesPortBuildItem.java index be24eb9c2b52e..54ee02c01f069 100644 --- a/extensions/kubernetes/spi/src/main/java/io/quarkus/kubernetes/spi/KubernetesPortBuildItem.java +++ b/extensions/kubernetes/spi/src/main/java/io/quarkus/kubernetes/spi/KubernetesPortBuildItem.java @@ -1,12 +1,17 @@ package io.quarkus.kubernetes.spi; import io.quarkus.builder.item.MultiBuildItem; +import io.quarkus.deployment.Feature; public final class KubernetesPortBuildItem extends MultiBuildItem { private final int port; private final String name; + public KubernetesPortBuildItem(int port, Feature feature) { + this(port, feature.getName()); + } + public KubernetesPortBuildItem(int port, String name) { this.port = port; this.name = name; diff --git a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/ContainerImageUtil.java b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/ContainerImageUtil.java index 7e4cef8d92fd6..647feeb9301ec 100644 --- a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/ContainerImageUtil.java +++ b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/ContainerImageUtil.java @@ -7,6 +7,7 @@ import io.quarkus.container.image.deployment.ContainerImageCapabilitiesUtil; import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; final class ContainerImageUtil { @@ -21,6 +22,6 @@ static boolean isRegistryMissingAndNotS2I(Capabilities capabilities, ContainerIm } return !hasRegistry(containerImageInfo.getImage()) - && !Capabilities.CONTAINER_IMAGE_S2I.equals(activeContainerImageCapability.get()); + && !Capability.CONTAINER_IMAGE_S2I.equals(activeContainerImageCapability.get()); } } diff --git a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesDeployer.java b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesDeployer.java index 16deed9f169c0..280aad10b5341 100644 --- a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesDeployer.java +++ b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesDeployer.java @@ -30,6 +30,7 @@ import io.quarkus.container.image.deployment.ContainerImageCapabilitiesUtil; import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -119,7 +120,7 @@ private EnabledKubernetesDeploymentTargetsBuildItem.Entry determineDeploymentTar } if (OPENSHIFT.equals(selectedTarget.getName())) { - checkForMissingRegistry = Capabilities.CONTAINER_IMAGE_S2I.equals(activeContainerImageCapability); + checkForMissingRegistry = Capability.CONTAINER_IMAGE_S2I.equals(activeContainerImageCapability); } else if (MINIKUBE.equals(selectedTarget.getName())) { checkForMissingRegistry = false; } diff --git a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesProcessor.java b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesProcessor.java index 24072b2fc8af9..781ec5532bcc9 100644 --- a/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesProcessor.java +++ b/extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesProcessor.java @@ -91,6 +91,7 @@ import io.quarkus.container.spi.ContainerImageInfoBuildItem; import io.quarkus.container.spi.ContainerImageLabelBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -123,7 +124,7 @@ class KubernetesProcessor { @BuildStep FeatureBuildItem produceFeature() { - return new FeatureBuildItem(FeatureBuildItem.KUBERNETES); + return new FeatureBuildItem(Feature.KUBERNETES); } @BuildStep diff --git a/extensions/liquibase/deployment/src/main/java/io/quarkus/liquibase/LiquibaseProcessor.java b/extensions/liquibase/deployment/src/main/java/io/quarkus/liquibase/LiquibaseProcessor.java index e1c077754f1f1..bc21a65c9a025 100644 --- a/extensions/liquibase/deployment/src/main/java/io/quarkus/liquibase/LiquibaseProcessor.java +++ b/extensions/liquibase/deployment/src/main/java/io/quarkus/liquibase/LiquibaseProcessor.java @@ -35,7 +35,8 @@ import io.quarkus.arc.processor.DotNames; import io.quarkus.datasource.common.runtime.DataSourceUtil; import io.quarkus.datasource.common.runtime.DatabaseKind; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -91,7 +92,7 @@ class LiquibaseProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.LIQUIBASE); + return new CapabilityBuildItem(Capability.LIQUIBASE); } /** @@ -245,7 +246,7 @@ void nativeImageConfiguration( @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.LIQUIBASE); + return new FeatureBuildItem(Feature.LIQUIBASE); } @BuildStep diff --git a/extensions/logging-gelf/deployment/src/main/java/io/quarkus/logging/gelf/deployment/GelfLogHandlerProcessor.java b/extensions/logging-gelf/deployment/src/main/java/io/quarkus/logging/gelf/deployment/GelfLogHandlerProcessor.java index 7b3aae12fa0a7..a96077da5ee9f 100644 --- a/extensions/logging-gelf/deployment/src/main/java/io/quarkus/logging/gelf/deployment/GelfLogHandlerProcessor.java +++ b/extensions/logging-gelf/deployment/src/main/java/io/quarkus/logging/gelf/deployment/GelfLogHandlerProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.logging.gelf.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; import io.quarkus.deployment.annotations.Record; @@ -14,7 +15,7 @@ class GelfLogHandlerProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.LOGGING_GELF); + return new FeatureBuildItem(Feature.LOGGING_GELF); } @BuildStep diff --git a/extensions/mailer/deployment/src/main/java/io/quarkus/mailer/deployment/MailerProcessor.java b/extensions/mailer/deployment/src/main/java/io/quarkus/mailer/deployment/MailerProcessor.java index 0c73e1aa8202f..3105ef45de2e0 100644 --- a/extensions/mailer/deployment/src/main/java/io/quarkus/mailer/deployment/MailerProcessor.java +++ b/extensions/mailer/deployment/src/main/java/io/quarkus/mailer/deployment/MailerProcessor.java @@ -13,6 +13,7 @@ import io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem; import io.quarkus.arc.processor.BuildExtension; import io.quarkus.arc.processor.InjectionPointInfo; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem; @@ -49,7 +50,7 @@ AdditionalBeanBuildItem registerMailers() { @BuildStep ExtensionSslNativeSupportBuildItem activateSslNativeSupport() { - return new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.MAILER); + return new ExtensionSslNativeSupportBuildItem(Feature.MAILER); } @BuildStep @@ -67,7 +68,7 @@ void registerAuthClass(BuildProducer reflectiveClass) @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.MAILER); + return new FeatureBuildItem(Feature.MAILER); } @BuildStep diff --git a/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/MongoClientProcessor.java b/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/MongoClientProcessor.java index 674e1474b8f34..34688eee7c2d9 100644 --- a/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/MongoClientProcessor.java +++ b/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/MongoClientProcessor.java @@ -30,6 +30,8 @@ import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.arc.processor.DotNames; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -105,12 +107,12 @@ public void mongoClientNames(ApplicationArchivesBuildItem applicationArchivesBui @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.MONGODB_CLIENT); + return new FeatureBuildItem(Feature.MONGODB_CLIENT); } @BuildStep ExtensionSslNativeSupportBuildItem ssl() { - return new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.MONGODB_CLIENT); + return new ExtensionSslNativeSupportBuildItem(Feature.MONGODB_CLIENT); } @Record(STATIC_INIT) @@ -259,7 +261,7 @@ void setupMetrics( MongoClientBuildTimeConfig buildTimeConfig, Capabilities capabilities, BuildProducer producer) { - if (buildTimeConfig.metricsEnabled && capabilities.isCapabilityPresent(Capabilities.METRICS)) { + if (buildTimeConfig.metricsEnabled && capabilities.isPresent(Capability.METRICS)) { producer.produce(new MongoConnectionPoolListenerBuildItem(new MongoMetricsConnectionPoolListener())); } } diff --git a/extensions/mutiny/deployment/src/main/java/io/quarkus/mutiny/deployment/MutinyProcessor.java b/extensions/mutiny/deployment/src/main/java/io/quarkus/mutiny/deployment/MutinyProcessor.java index 566082f631b7f..acacbfae6da4d 100644 --- a/extensions/mutiny/deployment/src/main/java/io/quarkus/mutiny/deployment/MutinyProcessor.java +++ b/extensions/mutiny/deployment/src/main/java/io/quarkus/mutiny/deployment/MutinyProcessor.java @@ -2,6 +2,7 @@ import java.util.concurrent.ExecutorService; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; import io.quarkus.deployment.annotations.Record; @@ -13,7 +14,7 @@ public class MutinyProcessor { @BuildStep public FeatureBuildItem registerFeature() { - return new FeatureBuildItem(FeatureBuildItem.MUTINY); + return new FeatureBuildItem(Feature.MUTINY); } @BuildStep diff --git a/extensions/narayana-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java b/extensions/narayana-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java index 22f7e062d9370..f535fbdc35369 100644 --- a/extensions/narayana-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java +++ b/extensions/narayana-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java @@ -18,7 +18,8 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.ContextRegistrarBuildItem; import io.quarkus.arc.processor.ContextRegistrar; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -48,7 +49,7 @@ public NativeImageSystemPropertyBuildItem nativeImageSystemPropertyBuildItem() { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.TRANSACTIONS); + return new CapabilityBuildItem(Capability.TRANSACTIONS); } @BuildStep @@ -59,7 +60,7 @@ public void build(NarayanaJtaRecorder recorder, BuildProducer runtimeInit, BuildProducer feature, TransactionManagerConfiguration transactions) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.NARAYANA_JTA)); + feature.produce(new FeatureBuildItem(Feature.NARAYANA_JTA)); additionalBeans.produce(new AdditionalBeanBuildItem(NarayanaJtaProducers.class)); additionalBeans.produce(new AdditionalBeanBuildItem(CDIDelegatingTransactionManager.class)); runtimeInit.produce(new RuntimeInitializedClassBuildItem( diff --git a/extensions/narayana-stm/deployment/src/main/java/io/quarkus/narayana/stm/deployment/NarayanaSTMProcessor.java b/extensions/narayana-stm/deployment/src/main/java/io/quarkus/narayana/stm/deployment/NarayanaSTMProcessor.java index 9f1f2ee7b8201..4feec5bfea361 100644 --- a/extensions/narayana-stm/deployment/src/main/java/io/quarkus/narayana/stm/deployment/NarayanaSTMProcessor.java +++ b/extensions/narayana-stm/deployment/src/main/java/io/quarkus/narayana/stm/deployment/NarayanaSTMProcessor.java @@ -20,6 +20,7 @@ import com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore; import com.arjuna.ats.txoj.Lock; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -46,7 +47,7 @@ class NarayanaSTMProcessor { // register classes in need of reflection @BuildStep ReflectiveClassBuildItem registerFeature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.NARAYANA_STM)); + feature.produce(new FeatureBuildItem(Feature.NARAYANA_STM)); return new ReflectiveClassBuildItem(true, false, ShadowNoFileLockStore.class.getName(), diff --git a/extensions/neo4j/deployment/src/main/java/io/quarkus/neo4j/deployment/Neo4jDriverProcessor.java b/extensions/neo4j/deployment/src/main/java/io/quarkus/neo4j/deployment/Neo4jDriverProcessor.java index b9edf6b2cc35c..82dfef663a3e5 100644 --- a/extensions/neo4j/deployment/src/main/java/io/quarkus/neo4j/deployment/Neo4jDriverProcessor.java +++ b/extensions/neo4j/deployment/src/main/java/io/quarkus/neo4j/deployment/Neo4jDriverProcessor.java @@ -2,6 +2,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -20,9 +21,9 @@ class Neo4jDriverProcessor { FeatureBuildItem createFeature(BuildProducer extensionSslNativeSupport) { // Indicates that this extension would like the SSL support to be enabled - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.NEO4J)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.NEO4J)); - return new FeatureBuildItem(FeatureBuildItem.NEO4J); + return new FeatureBuildItem(Feature.NEO4J); } @BuildStep diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/OidcBuildStep.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/OidcBuildStep.java index 1e168bfab63f9..519a1236dcd67 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/OidcBuildStep.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/OidcBuildStep.java @@ -9,6 +9,8 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -37,12 +39,12 @@ public class OidcBuildStep { @BuildStep(onlyIf = IsEnabled.class) FeatureBuildItem featureBuildItem() { - return new FeatureBuildItem(FeatureBuildItem.OIDC); + return new FeatureBuildItem(Feature.OIDC); } @BuildStep(onlyIf = IsEnabled.class) AdditionalBeanBuildItem jwtClaimIntegration(Capabilities capabilities) { - if (!capabilities.isCapabilityPresent(Capabilities.JWT)) { + if (!capabilities.isPresent(Capability.JWT)) { AdditionalBeanBuildItem.Builder removable = AdditionalBeanBuildItem.builder(); removable.addBeanClass(CommonJwtProducer.class); removable.addBeanClass(RawClaimTypeProducer.class); diff --git a/extensions/optaplanner-jackson/deployment/src/main/java/io/quarkus/optaplanner/jackson/deployment/OptaPlannerJacksonProcessor.java b/extensions/optaplanner-jackson/deployment/src/main/java/io/quarkus/optaplanner/jackson/deployment/OptaPlannerJacksonProcessor.java index 484589668c08c..62a21b444c739 100644 --- a/extensions/optaplanner-jackson/deployment/src/main/java/io/quarkus/optaplanner/jackson/deployment/OptaPlannerJacksonProcessor.java +++ b/extensions/optaplanner-jackson/deployment/src/main/java/io/quarkus/optaplanner/jackson/deployment/OptaPlannerJacksonProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.optaplanner.jackson.deployment; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -10,7 +11,7 @@ class OptaPlannerJacksonProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.OPTAPLANNER_JACKSON); + return new FeatureBuildItem(Feature.OPTAPLANNER_JACKSON); } @BuildStep diff --git a/extensions/optaplanner-jsonb/deployment/src/main/java/io/quarkus/optaplanner/jsonb/deployment/OptaPlannerJsonbProcessor.java b/extensions/optaplanner-jsonb/deployment/src/main/java/io/quarkus/optaplanner/jsonb/deployment/OptaPlannerJsonbProcessor.java index c97fab259e8c6..f7ff9053f8d50 100644 --- a/extensions/optaplanner-jsonb/deployment/src/main/java/io/quarkus/optaplanner/jsonb/deployment/OptaPlannerJsonbProcessor.java +++ b/extensions/optaplanner-jsonb/deployment/src/main/java/io/quarkus/optaplanner/jsonb/deployment/OptaPlannerJsonbProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.optaplanner.jsonb.deployment; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -10,7 +11,7 @@ class OptaPlannerJsonbProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.OPTAPLANNER_JSONB); + return new FeatureBuildItem(Feature.OPTAPLANNER_JSONB); } @BuildStep diff --git a/extensions/optaplanner/deployment/src/main/java/io/quarkus/optaplanner/deployment/OptaPlannerProcessor.java b/extensions/optaplanner/deployment/src/main/java/io/quarkus/optaplanner/deployment/OptaPlannerProcessor.java index 833aaff995c2c..0fa821f4d7dd4 100644 --- a/extensions/optaplanner/deployment/src/main/java/io/quarkus/optaplanner/deployment/OptaPlannerProcessor.java +++ b/extensions/optaplanner/deployment/src/main/java/io/quarkus/optaplanner/deployment/OptaPlannerProcessor.java @@ -29,6 +29,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -49,7 +50,7 @@ class OptaPlannerProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.OPTAPLANNER); + return new FeatureBuildItem(Feature.OPTAPLANNER); } @BuildStep diff --git a/extensions/panache/hibernate-orm-panache-kotlin/deployment/src/main/java/io/quarkus/hibernate/orm/panache/kotlin/deployment/KotlinPanacheResourceProcessor.java b/extensions/panache/hibernate-orm-panache-kotlin/deployment/src/main/java/io/quarkus/hibernate/orm/panache/kotlin/deployment/KotlinPanacheResourceProcessor.java index cba3ac83372b7..f463cca99af13 100644 --- a/extensions/panache/hibernate-orm-panache-kotlin/deployment/src/main/java/io/quarkus/hibernate/orm/panache/kotlin/deployment/KotlinPanacheResourceProcessor.java +++ b/extensions/panache/hibernate-orm-panache-kotlin/deployment/src/main/java/io/quarkus/hibernate/orm/panache/kotlin/deployment/KotlinPanacheResourceProcessor.java @@ -19,6 +19,7 @@ import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.arc.processor.BeanInfo; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationIndexBuildItem; @@ -108,7 +109,7 @@ static String toBinarySignature(Class type) { @BuildStep FeatureBuildItem featureBuildItem() { - return new FeatureBuildItem(FeatureBuildItem.HIBERNATE_ORM_PANACHE_KOTLIN); + return new FeatureBuildItem(Feature.HIBERNATE_ORM_PANACHE_KOTLIN); } @BuildStep diff --git a/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java b/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java index f9a820939f632..f2d9379e23fbf 100644 --- a/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java +++ b/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java @@ -18,6 +18,7 @@ import io.quarkus.bootstrap.classloading.ClassPathElement; import io.quarkus.bootstrap.classloading.QuarkusClassLoader; import io.quarkus.builder.BuildException; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem; @@ -54,7 +55,7 @@ public final class PanacheHibernateResourceProcessor { @BuildStep FeatureBuildItem featureBuildItem() { - return new FeatureBuildItem(FeatureBuildItem.HIBERNATE_ORM_PANACHE); + return new FeatureBuildItem(Feature.HIBERNATE_ORM_PANACHE); } @BuildStep diff --git a/extensions/panache/hibernate-orm-rest-data-panache/deployment/src/main/java/io/quarkus/hibernate/orm/rest/data/panache/deployment/HibernateOrmPanacheRestProcessor.java b/extensions/panache/hibernate-orm-rest-data-panache/deployment/src/main/java/io/quarkus/hibernate/orm/rest/data/panache/deployment/HibernateOrmPanacheRestProcessor.java index 529aac145c482..371599eb97492 100644 --- a/extensions/panache/hibernate-orm-rest-data-panache/deployment/src/main/java/io/quarkus/hibernate/orm/rest/data/panache/deployment/HibernateOrmPanacheRestProcessor.java +++ b/extensions/panache/hibernate-orm-rest-data-panache/deployment/src/main/java/io/quarkus/hibernate/orm/rest/data/panache/deployment/HibernateOrmPanacheRestProcessor.java @@ -1,6 +1,6 @@ package io.quarkus.hibernate.orm.rest.data.panache.deployment; -import static io.quarkus.deployment.builditem.FeatureBuildItem.HIBERNATE_ORM_REST_DATA_PANACHE; +import static io.quarkus.deployment.Feature.HIBERNATE_ORM_REST_DATA_PANACHE; import java.lang.reflect.Modifier; import java.util.List; diff --git a/extensions/panache/mongodb-panache/deployment/src/main/java/io/quarkus/mongodb/panache/deployment/PanacheMongoResourceProcessor.java b/extensions/panache/mongodb-panache/deployment/src/main/java/io/quarkus/mongodb/panache/deployment/PanacheMongoResourceProcessor.java index 3e403d49d1a8b..bfa44a954946c 100644 --- a/extensions/panache/mongodb-panache/deployment/src/main/java/io/quarkus/mongodb/panache/deployment/PanacheMongoResourceProcessor.java +++ b/extensions/panache/mongodb-panache/deployment/src/main/java/io/quarkus/mongodb/panache/deployment/PanacheMongoResourceProcessor.java @@ -29,7 +29,8 @@ import io.quarkus.bootstrap.classloading.ClassPathElement; import io.quarkus.bootstrap.classloading.QuarkusClassLoader; import io.quarkus.builder.BuildException; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -90,12 +91,12 @@ public class PanacheMongoResourceProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.MONGODB_PANACHE); + return new CapabilityBuildItem(Capability.MONGODB_PANACHE); } @BuildStep FeatureBuildItem featureBuildItem() { - return new FeatureBuildItem(FeatureBuildItem.MONGODB_PANACHE); + return new FeatureBuildItem(Feature.MONGODB_PANACHE); } @BuildStep diff --git a/extensions/picocli/deployment/src/main/java/io/quarkus/picocli/deployment/PicocliProcessor.java b/extensions/picocli/deployment/src/main/java/io/quarkus/picocli/deployment/PicocliProcessor.java index 1cfd7eff4befc..d18d752f76ce8 100644 --- a/extensions/picocli/deployment/src/main/java/io/quarkus/picocli/deployment/PicocliProcessor.java +++ b/extensions/picocli/deployment/src/main/java/io/quarkus/picocli/deployment/PicocliProcessor.java @@ -13,6 +13,7 @@ import io.quarkus.arc.deployment.AnnotationsTransformerBuildItem; import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem; import io.quarkus.arc.processor.AnnotationsTransformer; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationIndexBuildItem; @@ -30,7 +31,7 @@ class PicocliProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.PICOCLI); + return new FeatureBuildItem(Feature.PICOCLI); } @BuildStep diff --git a/extensions/quartz/deployment/src/main/java/io/quarkus/quartz/deployment/QuartzProcessor.java b/extensions/quartz/deployment/src/main/java/io/quarkus/quartz/deployment/QuartzProcessor.java index 2dc26c189f2b6..fb440f4efa5bd 100644 --- a/extensions/quartz/deployment/src/main/java/io/quarkus/quartz/deployment/QuartzProcessor.java +++ b/extensions/quartz/deployment/src/main/java/io/quarkus/quartz/deployment/QuartzProcessor.java @@ -29,7 +29,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.datasource.common.runtime.DatabaseKind; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -52,7 +52,7 @@ public class QuartzProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.QUARTZ); + return new CapabilityBuildItem(Capability.QUARTZ); } @BuildStep diff --git a/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/QuteProcessor.java b/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/QuteProcessor.java index 3b02fcb553fac..e170676b4fcb6 100644 --- a/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/QuteProcessor.java +++ b/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/QuteProcessor.java @@ -56,6 +56,7 @@ import io.quarkus.arc.processor.DotNames; import io.quarkus.arc.processor.InjectionPointInfo; import io.quarkus.deployment.ApplicationArchive; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -122,7 +123,7 @@ public class QuteProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.QUTE); + return new FeatureBuildItem(Feature.QUTE); } @BuildStep diff --git a/extensions/reactive-db2-client/deployment/src/main/java/io/quarkus/reactive/db2/client/deployment/ReactiveDB2ClientProcessor.java b/extensions/reactive-db2-client/deployment/src/main/java/io/quarkus/reactive/db2/client/deployment/ReactiveDB2ClientProcessor.java index f7a646e90c0e5..d53b8797d973e 100644 --- a/extensions/reactive-db2-client/deployment/src/main/java/io/quarkus/reactive/db2/client/deployment/ReactiveDB2ClientProcessor.java +++ b/extensions/reactive-db2-client/deployment/src/main/java/io/quarkus/reactive/db2/client/deployment/ReactiveDB2ClientProcessor.java @@ -5,6 +5,7 @@ import io.quarkus.datasource.common.runtime.DatabaseKind; import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig; import io.quarkus.datasource.runtime.DataSourcesRuntimeConfig; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -43,7 +44,7 @@ ServiceStartBuildItem build(BuildProducer feature, DataSourceReactiveRuntimeConfig dataSourceReactiveRuntimeConfig, DataSourceReactiveDB2Config dataSourceReactiveDB2Config) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REACTIVE_DB2_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.REACTIVE_DB2_CLIENT)); // Make sure the DB2PoolProducer is initialized before the StartupEvent is fired ServiceStartBuildItem serviceStart = new ServiceStartBuildItem("reactive-db2-client"); diff --git a/extensions/reactive-mysql-client/deployment/src/main/java/io/quarkus/reactive/mysql/client/deployment/ReactiveMySQLClientProcessor.java b/extensions/reactive-mysql-client/deployment/src/main/java/io/quarkus/reactive/mysql/client/deployment/ReactiveMySQLClientProcessor.java index e1b164b0d8f67..e8d9ea88de04c 100644 --- a/extensions/reactive-mysql-client/deployment/src/main/java/io/quarkus/reactive/mysql/client/deployment/ReactiveMySQLClientProcessor.java +++ b/extensions/reactive-mysql-client/deployment/src/main/java/io/quarkus/reactive/mysql/client/deployment/ReactiveMySQLClientProcessor.java @@ -6,6 +6,7 @@ import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig; import io.quarkus.datasource.runtime.DataSourcesRuntimeConfig; import io.quarkus.datasource.runtime.LegacyDataSourcesRuntimeConfig; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -48,7 +49,7 @@ ServiceStartBuildItem build(BuildProducer feature, LegacyDataSourcesRuntimeConfig legacyDataSourcesRuntimeConfig, LegacyDataSourceReactiveMySQLConfig legacyDataSourceReactiveMySQLConfig) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REACTIVE_MYSQL_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.REACTIVE_MYSQL_CLIENT)); // Make sure the MySQLPoolProducer is initialized before the StartupEvent is fired ServiceStartBuildItem serviceStart = new ServiceStartBuildItem("reactive-mysql-client"); diff --git a/extensions/reactive-pg-client/deployment/src/main/java/io/quarkus/reactive/pg/client/deployment/ReactivePgClientProcessor.java b/extensions/reactive-pg-client/deployment/src/main/java/io/quarkus/reactive/pg/client/deployment/ReactivePgClientProcessor.java index c88ab190e931f..4c7854670be78 100644 --- a/extensions/reactive-pg-client/deployment/src/main/java/io/quarkus/reactive/pg/client/deployment/ReactivePgClientProcessor.java +++ b/extensions/reactive-pg-client/deployment/src/main/java/io/quarkus/reactive/pg/client/deployment/ReactivePgClientProcessor.java @@ -6,6 +6,7 @@ import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig; import io.quarkus.datasource.runtime.DataSourcesRuntimeConfig; import io.quarkus.datasource.runtime.LegacyDataSourcesRuntimeConfig; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -55,7 +56,7 @@ ServiceStartBuildItem build(BuildProducer feature, LegacyDataSourcesRuntimeConfig legacyDataSourcesRuntimeConfig, LegacyDataSourceReactivePostgreSQLConfig legacyDataSourceReactivePostgreSQLConfig) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REACTIVE_PG_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.REACTIVE_PG_CLIENT)); // Make sure the PgPoolProducer is initialized before the StartupEvent is fired ServiceStartBuildItem serviceStart = new ServiceStartBuildItem("reactive-pg-client"); diff --git a/extensions/reactive-streams-operators/smallrye-reactive-streams-operators/deployment/src/main/java/io/quarkus/smallrye/reactivestreamoperators/deployment/SmallRyeReactiveStreamsOperatorsProcessor.java b/extensions/reactive-streams-operators/smallrye-reactive-streams-operators/deployment/src/main/java/io/quarkus/smallrye/reactivestreamoperators/deployment/SmallRyeReactiveStreamsOperatorsProcessor.java index 95cc5706a6273..c5ee5b2b5ef3e 100644 --- a/extensions/reactive-streams-operators/smallrye-reactive-streams-operators/deployment/src/main/java/io/quarkus/smallrye/reactivestreamoperators/deployment/SmallRyeReactiveStreamsOperatorsProcessor.java +++ b/extensions/reactive-streams-operators/smallrye-reactive-streams-operators/deployment/src/main/java/io/quarkus/smallrye/reactivestreamoperators/deployment/SmallRyeReactiveStreamsOperatorsProcessor.java @@ -4,6 +4,7 @@ import org.eclipse.microprofile.reactive.streams.operators.core.ReactiveStreamsFactoryImpl; import org.eclipse.microprofile.reactive.streams.operators.spi.ReactiveStreamsEngine; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -15,7 +16,7 @@ public class SmallRyeReactiveStreamsOperatorsProcessor { @BuildStep public void build(BuildProducer serviceProvider, BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_STREAMS_OPERATORS)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_STREAMS_OPERATORS)); serviceProvider.produce(new ServiceProviderBuildItem(ReactiveStreamsEngine.class.getName(), Engine.class.getName())); serviceProvider.produce(new ServiceProviderBuildItem(ReactiveStreamsFactory.class.getName(), ReactiveStreamsFactoryImpl.class.getName())); diff --git a/extensions/reactive-streams-operators/smallrye-reactive-type-converters/deployment/src/main/java/io/quarkus/smallrye/typeconverters/deployment/SmallRyeReactiveTypeConvertersProcessor.java b/extensions/reactive-streams-operators/smallrye-reactive-type-converters/deployment/src/main/java/io/quarkus/smallrye/typeconverters/deployment/SmallRyeReactiveTypeConvertersProcessor.java index 2f737db2a7b2d..64d3aa75e469e 100644 --- a/extensions/reactive-streams-operators/smallrye-reactive-type-converters/deployment/src/main/java/io/quarkus/smallrye/typeconverters/deployment/SmallRyeReactiveTypeConvertersProcessor.java +++ b/extensions/reactive-streams-operators/smallrye-reactive-type-converters/deployment/src/main/java/io/quarkus/smallrye/typeconverters/deployment/SmallRyeReactiveTypeConvertersProcessor.java @@ -5,6 +5,7 @@ import org.jboss.jandex.ClassInfo; import org.jboss.jandex.DotName; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -25,7 +26,7 @@ public class SmallRyeReactiveTypeConvertersProcessor { @BuildStep public void build(BuildProducer serviceProvider, BuildProducer feature, CombinedIndexBuildItem indexBuildItem) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_TYPE_CONVERTERS)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_TYPE_CONVERTERS)); Collection implementors = indexBuildItem.getIndex().getAllKnownImplementors(REACTIVE_TYPE_CONVERTER); implementors.forEach(info -> serviceProvider diff --git a/extensions/rest-client-jackson/deployment/src/main/java/io/quarkus/restclient/jackson/deployment/RestClientJacksonProcessor.java b/extensions/rest-client-jackson/deployment/src/main/java/io/quarkus/restclient/jackson/deployment/RestClientJacksonProcessor.java index c2427ea1cda84..c29b19c7b9271 100644 --- a/extensions/rest-client-jackson/deployment/src/main/java/io/quarkus/restclient/jackson/deployment/RestClientJacksonProcessor.java +++ b/extensions/rest-client-jackson/deployment/src/main/java/io/quarkus/restclient/jackson/deployment/RestClientJacksonProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.restclient.jackson.deployment; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -11,8 +12,8 @@ public class RestClientJacksonProcessor { @BuildStep void build(BuildProducer feature, BuildProducer capability) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REST_CLIENT_JACKSON)); + feature.produce(new FeatureBuildItem(Feature.REST_CLIENT_JACKSON)); - capability.produce(new CapabilityBuildItem(Capabilities.REST_JACKSON)); + capability.produce(new CapabilityBuildItem(Capability.REST_JACKSON)); } } diff --git a/extensions/rest-client-jaxb/deployment/src/main/java/io/quarkus/restclient/jaxb/deployment/RestClientJaxbProcessor.java b/extensions/rest-client-jaxb/deployment/src/main/java/io/quarkus/restclient/jaxb/deployment/RestClientJaxbProcessor.java index 929ff4fdfd885..6b51500bf5f0c 100755 --- a/extensions/rest-client-jaxb/deployment/src/main/java/io/quarkus/restclient/jaxb/deployment/RestClientJaxbProcessor.java +++ b/extensions/rest-client-jaxb/deployment/src/main/java/io/quarkus/restclient/jaxb/deployment/RestClientJaxbProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.restclient.jaxb.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -8,6 +9,6 @@ public class RestClientJaxbProcessor { @BuildStep void build(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REST_CLIENT_JAXB)); + feature.produce(new FeatureBuildItem(Feature.REST_CLIENT_JAXB)); } } diff --git a/extensions/rest-client-jsonb/deployment/src/main/java/io/quarkus/restclient/jsonb/deployment/RestClientJsonbProcessor.java b/extensions/rest-client-jsonb/deployment/src/main/java/io/quarkus/restclient/jsonb/deployment/RestClientJsonbProcessor.java index 150147e8883e3..6cbcf14e3ea2f 100755 --- a/extensions/rest-client-jsonb/deployment/src/main/java/io/quarkus/restclient/jsonb/deployment/RestClientJsonbProcessor.java +++ b/extensions/rest-client-jsonb/deployment/src/main/java/io/quarkus/restclient/jsonb/deployment/RestClientJsonbProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.restclient.jsonb.deployment; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -11,8 +12,8 @@ public class RestClientJsonbProcessor { @BuildStep void build(BuildProducer feature, BuildProducer capability) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REST_CLIENT_JSONB)); + feature.produce(new FeatureBuildItem(Feature.REST_CLIENT_JSONB)); - capability.produce(new CapabilityBuildItem(Capabilities.REST_JSONB)); + capability.produce(new CapabilityBuildItem(Capability.REST_JSONB)); } } diff --git a/extensions/rest-client/deployment/src/main/java/io/quarkus/restclient/deployment/RestClientProcessor.java b/extensions/rest-client/deployment/src/main/java/io/quarkus/restclient/deployment/RestClientProcessor.java index fc06ed73e9c52..cc9d7ccc4f1c1 100644 --- a/extensions/rest-client/deployment/src/main/java/io/quarkus/restclient/deployment/RestClientProcessor.java +++ b/extensions/rest-client/deployment/src/main/java/io/quarkus/restclient/deployment/RestClientProcessor.java @@ -50,6 +50,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.ScopeInfo; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -116,7 +118,7 @@ void setup(BuildProducer feature, BuildProducer reflectiveClass, RestClientRecorder restClientRecorder) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.REST_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.REST_CLIENT)); restClientRecorder.setRestClientBuilderResolver(); @@ -219,7 +221,7 @@ public void register(RegistrationContext registrationContext) { })); // Indicates that this extension would like the SSL support to be enabled - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.REST_CLIENT)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.REST_CLIENT)); restClientRecorder.setSslEnabled(sslNativeConfig.isEnabled()); } @@ -284,7 +286,7 @@ private ScopeInfo computeDefaultScope(Capabilities capabilities, Config config, final BuiltinScope builtinScope = BuiltinScope.from(scope); if (builtinScope != null) { // override default @Dependent scope with user defined one. scopeToUse = builtinScope.getInfo(); - } else if (capabilities.isCapabilityPresent(Capabilities.SERVLET)) { + } else if (capabilities.isPresent(Capability.SERVLET)) { if (scope.equals(SESSION_SCOPED)) { scopeToUse = new ScopeInfo(SESSION_SCOPED, true); } diff --git a/extensions/resteasy-common/deployment/src/main/java/io/quarkus/resteasy/common/deployment/ResteasyCommonProcessor.java b/extensions/resteasy-common/deployment/src/main/java/io/quarkus/resteasy/common/deployment/ResteasyCommonProcessor.java index ba669f8d4f2dc..d6aa469eda67e 100644 --- a/extensions/resteasy-common/deployment/src/main/java/io/quarkus/resteasy/common/deployment/ResteasyCommonProcessor.java +++ b/extensions/resteasy-common/deployment/src/main/java/io/quarkus/resteasy/common/deployment/ResteasyCommonProcessor.java @@ -46,6 +46,7 @@ import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.arc.processor.DotNames; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -166,7 +167,7 @@ JaxrsProvidersToRegisterBuildItem setupProviders(BuildProducer providersToRegister = new HashSet<>(otherProviders); - if (!capabilities.isCapabilityPresent(Capabilities.RESTEASY_JSON_EXTENSION)) { + if (!capabilities.isPresent(Capability.RESTEASY_JSON)) { boolean needJsonSupport = restJsonSupportNeeded(indexBuildItem, ResteasyDotNames.CONSUMES) || restJsonSupportNeeded(indexBuildItem, ResteasyDotNames.PRODUCES) @@ -178,7 +179,7 @@ JaxrsProvidersToRegisterBuildItem setupProviders(BuildProducer additionalBean, BuildProducer unremovable) { - if (capabilities.isCapabilityPresent(Capabilities.REST_JACKSON)) { + if (capabilities.isPresent(Capability.REST_JACKSON)) { registerJsonContextResolver(OBJECT_MAPPER, QUARKUS_OBJECT_MAPPER_CONTEXT_RESOLVER, combinedIndexBuildItem, jaxrsProvider, additionalBean, unremovable); } - if (capabilities.isCapabilityPresent(Capabilities.REST_JSONB)) { + if (capabilities.isPresent(Capability.REST_JSONB)) { registerJsonContextResolver(JSONB, QUARKUS_JSONB_CONTEXT_RESOLVER, combinedIndexBuildItem, jaxrsProvider, additionalBean, unremovable); } diff --git a/extensions/resteasy-jackson/deployment/src/main/java/io/quarkus/resteasy/jackson/deployment/ResteasyJacksonProcessor.java b/extensions/resteasy-jackson/deployment/src/main/java/io/quarkus/resteasy/jackson/deployment/ResteasyJacksonProcessor.java index 378a310b9861a..92b6af38f8e77 100644 --- a/extensions/resteasy-jackson/deployment/src/main/java/io/quarkus/resteasy/jackson/deployment/ResteasyJacksonProcessor.java +++ b/extensions/resteasy-jackson/deployment/src/main/java/io/quarkus/resteasy/jackson/deployment/ResteasyJacksonProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.resteasy.jackson.deployment; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -10,12 +11,12 @@ public class ResteasyJacksonProcessor { @BuildStep void feature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.RESTEASY_JACKSON)); + feature.produce(new FeatureBuildItem(Feature.RESTEASY_JACKSON)); } @BuildStep void capabilities(BuildProducer capability) { - capability.produce(new CapabilityBuildItem(Capabilities.RESTEASY_JSON_EXTENSION)); - capability.produce(new CapabilityBuildItem(Capabilities.REST_JACKSON)); + capability.produce(new CapabilityBuildItem(Capability.RESTEASY_JSON)); + capability.produce(new CapabilityBuildItem(Capability.REST_JACKSON)); } } diff --git a/extensions/resteasy-jaxb/deployment/src/main/java/io/quarkus/resteasy/jaxb/deployment/ResteasyJaxbProcessor.java b/extensions/resteasy-jaxb/deployment/src/main/java/io/quarkus/resteasy/jaxb/deployment/ResteasyJaxbProcessor.java index 385608fd70933..efa692c91b447 100755 --- a/extensions/resteasy-jaxb/deployment/src/main/java/io/quarkus/resteasy/jaxb/deployment/ResteasyJaxbProcessor.java +++ b/extensions/resteasy-jaxb/deployment/src/main/java/io/quarkus/resteasy/jaxb/deployment/ResteasyJaxbProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.resteasy.jaxb.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -8,6 +9,6 @@ public class ResteasyJaxbProcessor { @BuildStep void build(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.RESTEASY_JAXB)); + feature.produce(new FeatureBuildItem(Feature.RESTEASY_JAXB)); } } diff --git a/extensions/resteasy-jsonb/deployment/src/main/java/io/quarkus/resteasy/jsonb/deployment/ResteasyJsonbProcessor.java b/extensions/resteasy-jsonb/deployment/src/main/java/io/quarkus/resteasy/jsonb/deployment/ResteasyJsonbProcessor.java index a4c3017ba0fd8..abba89a154824 100755 --- a/extensions/resteasy-jsonb/deployment/src/main/java/io/quarkus/resteasy/jsonb/deployment/ResteasyJsonbProcessor.java +++ b/extensions/resteasy-jsonb/deployment/src/main/java/io/quarkus/resteasy/jsonb/deployment/ResteasyJsonbProcessor.java @@ -3,7 +3,8 @@ import java.util.Arrays; import java.util.List; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -24,13 +25,13 @@ public class ResteasyJsonbProcessor { @BuildStep void feature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.RESTEASY_JSONB)); + feature.produce(new FeatureBuildItem(Feature.RESTEASY_JSONB)); } @BuildStep void capabilities(BuildProducer capability) { - capability.produce(new CapabilityBuildItem(Capabilities.RESTEASY_JSON_EXTENSION)); - capability.produce(new CapabilityBuildItem(Capabilities.REST_JSONB)); + capability.produce(new CapabilityBuildItem(Capability.RESTEASY_JSON)); + capability.produce(new CapabilityBuildItem(Capability.REST_JSONB)); } @BuildStep diff --git a/extensions/resteasy-mutiny/deployment/src/main/java/io/quarkus/resteasy/mutiny/deployment/ResteasyMutinyProcessor.java b/extensions/resteasy-mutiny/deployment/src/main/java/io/quarkus/resteasy/mutiny/deployment/ResteasyMutinyProcessor.java index a767eb844cd7d..60d225b5ddb73 100644 --- a/extensions/resteasy-mutiny/deployment/src/main/java/io/quarkus/resteasy/mutiny/deployment/ResteasyMutinyProcessor.java +++ b/extensions/resteasy-mutiny/deployment/src/main/java/io/quarkus/resteasy/mutiny/deployment/ResteasyMutinyProcessor.java @@ -1,6 +1,7 @@ package io.quarkus.resteasy.mutiny.deployment; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -19,12 +20,12 @@ public class ResteasyMutinyProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.RESTEASY_MUTINY); + return new FeatureBuildItem(Feature.RESTEASY_MUTINY); } @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.RESTEASY_MUTINY_EXTENSION); + return new CapabilityBuildItem(Capability.RESTEASY_MUTINY); } @BuildStep diff --git a/extensions/resteasy-qute/deployment/src/main/java/io/quarkus/resteasy/qute/deployment/ResteasyQuteProcessor.java b/extensions/resteasy-qute/deployment/src/main/java/io/quarkus/resteasy/qute/deployment/ResteasyQuteProcessor.java index 9d49fb118adb9..ad30b329b13ee 100644 --- a/extensions/resteasy-qute/deployment/src/main/java/io/quarkus/resteasy/qute/deployment/ResteasyQuteProcessor.java +++ b/extensions/resteasy-qute/deployment/src/main/java/io/quarkus/resteasy/qute/deployment/ResteasyQuteProcessor.java @@ -2,6 +2,7 @@ import org.jboss.jandex.DotName; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveHierarchyIgnoreWarningBuildItem; @@ -13,7 +14,7 @@ public class ResteasyQuteProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.RESTEASY_QUTE); + return new FeatureBuildItem(Feature.RESTEASY_QUTE); } @BuildStep diff --git a/extensions/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java b/extensions/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java index bd6f718f7ec40..8194622bdd197 100755 --- a/extensions/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java +++ b/extensions/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java @@ -54,6 +54,7 @@ import io.quarkus.arc.processor.DotNames; import io.quarkus.arc.processor.Transformation; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.BytecodeTransformerBuildItem; @@ -436,8 +437,8 @@ void enableMetrics(ResteasyConfig buildConfig, BuildProducer jaxRsProviders, BuildProducer servletFilters, Capabilities capabilities) { - if (buildConfig.metricsEnabled && capabilities.isCapabilityPresent(Capabilities.METRICS)) { - if (capabilities.isCapabilityPresent(Capabilities.SERVLET)) { + if (buildConfig.metricsEnabled && capabilities.isPresent(Capability.METRICS)) { + if (capabilities.isPresent(Capability.SERVLET)) { // if running with servlet, use the MetricsFilter implementation from SmallRye jaxRsProviders.produce( new ResteasyJaxrsProviderBuildItem("io.smallrye.metrics.jaxrs.JaxRsMetricsFilter")); diff --git a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyBuiltinsProcessor.java b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyBuiltinsProcessor.java index 498954bf3fa50..76a25883b0ea5 100644 --- a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyBuiltinsProcessor.java +++ b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyBuiltinsProcessor.java @@ -12,6 +12,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.IsDevelopment; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -38,7 +39,7 @@ public class ResteasyBuiltinsProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.RESTEASY); + return new CapabilityBuildItem(Capability.RESTEASY); } @BuildStep @@ -70,7 +71,7 @@ void setUpSecurity(BuildProducer providers, providers.produce(new ResteasyJaxrsProviderBuildItem(UnauthorizedExceptionMapper.class.getName())); providers.produce(new ResteasyJaxrsProviderBuildItem(ForbiddenExceptionMapper.class.getName())); providers.produce(new ResteasyJaxrsProviderBuildItem(AuthenticationFailedExceptionMapper.class.getName())); - if (capabilities.isCapabilityPresent(Capabilities.SECURITY)) { + if (capabilities.isPresent(Capability.SECURITY)) { providers.produce(new ResteasyJaxrsProviderBuildItem(SecurityContextFilter.class.getName())); additionalBeanBuildItem.produce(AdditionalBeanBuildItem.unremovableOf(SecurityContextFilter.class)); } diff --git a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyServletProcessor.java b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyServletProcessor.java index 83a33a243ad82..3978ef6ff21b0 100644 --- a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyServletProcessor.java +++ b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyServletProcessor.java @@ -18,6 +18,8 @@ import org.jboss.resteasy.plugins.server.servlet.HttpServlet30Dispatcher; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.IsDevelopment; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -83,10 +85,10 @@ public void build( BuildProducer servletInitParameters, Optional servletContextPathBuildItem, ResteasyInjectionReadyBuildItem resteasyInjectionReady) throws Exception { - if (!capabilities.isCapabilityPresent(Capabilities.SERVLET)) { + if (!capabilities.isPresent(Capability.SERVLET)) { return; } - feature.produce(new FeatureBuildItem(FeatureBuildItem.RESTEASY)); + feature.produce(new FeatureBuildItem(Feature.RESTEASY)); if (resteasyServerConfig.isPresent()) { reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, diff --git a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyStandaloneBuildStep.java b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyStandaloneBuildStep.java index 01d684bea3cdb..90fe316bcd0c6 100644 --- a/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyStandaloneBuildStep.java +++ b/extensions/resteasy/deployment/src/main/java/io/quarkus/resteasy/deployment/ResteasyStandaloneBuildStep.java @@ -19,6 +19,8 @@ import io.quarkus.builder.item.SimpleBuildItem; import io.quarkus.deployment.ApplicationArchive; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -68,7 +70,7 @@ public void staticInit(ResteasyStandaloneRecorder recorder, ResteasyInjectionReadyBuildItem resteasyInjectionReady, HttpBuildTimeConfig httpConfig, BuildProducer standalone) throws Exception { - if (capabilities.isCapabilityPresent(Capabilities.SERVLET)) { + if (capabilities.isPresent(Capability.SERVLET)) { return; } @@ -166,7 +168,7 @@ public void boot(ShutdownContextBuildItem shutdown, if (standalone == null) { return; } - feature.produce(new FeatureBuildItem(FeatureBuildItem.RESTEASY)); + feature.produce(new FeatureBuildItem(Feature.RESTEASY)); boolean isDefaultOrNullDeploymentPath = standalone.deploymentRootPath == null || standalone.deploymentRootPath.equals("/"); diff --git a/extensions/scala/deployment/src/main/java/io/quarkus/scala/deployment/ScalaProcessor.java b/extensions/scala/deployment/src/main/java/io/quarkus/scala/deployment/ScalaProcessor.java index 2b0d8729cdcef..bfa4f0d823d77 100644 --- a/extensions/scala/deployment/src/main/java/io/quarkus/scala/deployment/ScalaProcessor.java +++ b/extensions/scala/deployment/src/main/java/io/quarkus/scala/deployment/ScalaProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.scala.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -11,7 +12,7 @@ public class ScalaProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SCALA); + return new FeatureBuildItem(Feature.SCALA); } /* diff --git a/extensions/scheduler/deployment/src/main/java/io/quarkus/scheduler/deployment/SchedulerProcessor.java b/extensions/scheduler/deployment/src/main/java/io/quarkus/scheduler/deployment/SchedulerProcessor.java index 8bc268a5e51d1..6e3ca5c6fb62b 100644 --- a/extensions/scheduler/deployment/src/main/java/io/quarkus/scheduler/deployment/SchedulerProcessor.java +++ b/extensions/scheduler/deployment/src/main/java/io/quarkus/scheduler/deployment/SchedulerProcessor.java @@ -46,6 +46,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -87,7 +89,7 @@ public class SchedulerProcessor { @BuildStep void beans(Capabilities capabilities, BuildProducer additionalBeans) { - if (!capabilities.isCapabilityPresent(Capabilities.QUARTZ)) { + if (capabilities.isMissing(Capability.QUARTZ)) { additionalBeans.produce(new AdditionalBeanBuildItem(SimpleScheduler.class)); } } @@ -209,13 +211,12 @@ public List unremovableBeans() { @BuildStep @Record(RUNTIME_INIT) - public void build(SchedulerConfig config, BuildProducer syntheticBeans, SchedulerRecorder recorder, + public FeatureBuildItem build(SchedulerConfig config, BuildProducer syntheticBeans, + SchedulerRecorder recorder, List scheduledMethods, BuildProducer generatedClass, BuildProducer reflectiveClass, - BuildProducer feature, AnnotationProxyBuildItem annotationProxy, ExecutorBuildItem executor) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SCHEDULER)); List scheduledMetadata = new ArrayList<>(); ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, true); @@ -237,6 +238,8 @@ public void build(SchedulerConfig config, BuildProducer syntheticBeans.produce(SyntheticBeanBuildItem.configure(SchedulerContext.class).setRuntimeInit() .supplier(recorder.createContext(config, executor.getExecutorProxy(), scheduledMetadata)) .done()); + + return new FeatureBuildItem(Feature.SCHEDULER); } private String generateInvoker(BeanInfo bean, MethodInfo method, ClassOutput classOutput) { diff --git a/extensions/security-jpa/deployment/src/main/java/io/quarkus/security/jpa/deployment/QuarkusSecurityJpaProcessor.java b/extensions/security-jpa/deployment/src/main/java/io/quarkus/security/jpa/deployment/QuarkusSecurityJpaProcessor.java index 6376a289837a4..baddd79490202 100644 --- a/extensions/security-jpa/deployment/src/main/java/io/quarkus/security/jpa/deployment/QuarkusSecurityJpaProcessor.java +++ b/extensions/security-jpa/deployment/src/main/java/io/quarkus/security/jpa/deployment/QuarkusSecurityJpaProcessor.java @@ -26,7 +26,8 @@ import io.quarkus.arc.deployment.GeneratedBeanBuildItem; import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor; import io.quarkus.arc.deployment.UnremovableBeanBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationIndexBuildItem; @@ -73,12 +74,12 @@ class QuarkusSecurityJpaProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY_JPA); + return new FeatureBuildItem(Feature.SECURITY_JPA); } @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SECURITY_JPA); + return new CapabilityBuildItem(Capability.SECURITY_JPA); } @BuildStep diff --git a/extensions/security/deployment/src/main/java/io/quarkus/security/deployment/SecurityProcessor.java b/extensions/security/deployment/src/main/java/io/quarkus/security/deployment/SecurityProcessor.java index 8ba803d5b416d..316d858f2060b 100644 --- a/extensions/security/deployment/src/main/java/io/quarkus/security/deployment/SecurityProcessor.java +++ b/extensions/security/deployment/src/main/java/io/quarkus/security/deployment/SecurityProcessor.java @@ -36,7 +36,8 @@ import io.quarkus.arc.processor.BeanConfigurator; import io.quarkus.arc.processor.BeanRegistrar; import io.quarkus.arc.processor.BuiltinScope; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem; @@ -341,12 +342,12 @@ private List registerProvider(String providerName) { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SECURITY); + return new CapabilityBuildItem(Capability.SECURITY); } @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SECURITY); + return new FeatureBuildItem(Feature.SECURITY); } @BuildStep diff --git a/extensions/smallrye-context-propagation/deployment/src/main/java/io/quarkus/smallrye/context/deployment/SmallRyeContextPropagationProcessor.java b/extensions/smallrye-context-propagation/deployment/src/main/java/io/quarkus/smallrye/context/deployment/SmallRyeContextPropagationProcessor.java index 653238ffba889..b293b0f93dff0 100644 --- a/extensions/smallrye-context-propagation/deployment/src/main/java/io/quarkus/smallrye/context/deployment/SmallRyeContextPropagationProcessor.java +++ b/extensions/smallrye-context-propagation/deployment/src/main/java/io/quarkus/smallrye/context/deployment/SmallRyeContextPropagationProcessor.java @@ -10,6 +10,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -68,7 +69,7 @@ void build(SmallRyeContextPropagationRecorder recorder, ExecutorBuildItem executorBuildItem, BuildProducer feature, BuildProducer managedExecutorInitialized) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_CONTEXT_PROPAGATION)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_CONTEXT_PROPAGATION)); recorder.configureRuntime(beanContainer.getValue(), executorBuildItem.getExecutorProxy()); managedExecutorInitialized.produce(new ManagedExecutorInitializedBuildItem()); diff --git a/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java b/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java index 0298650c7ecd7..39f51b288f9d4 100644 --- a/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java +++ b/extensions/smallrye-fault-tolerance/deployment/src/main/java/io/quarkus/smallrye/faulttolerance/deployment/SmallRyeFaultToleranceProcessor.java @@ -36,6 +36,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -84,7 +86,7 @@ public void build(BuildProducer annotationsTran BuildProducer reflectiveClass, BuildProducer nativeImageSystemProperty) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_FAULT_TOLERANCE)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_FAULT_TOLERANCE)); serviceProvider.produce(new ServiceProviderBuildItem(ExecutorFactory.class.getName(), ContextPropagationExecutorFactory.class.getName())); @@ -148,7 +150,7 @@ public void transform(TransformationContext context) { MetricsCollectorFactory.class); additionalBean.produce(builder.build()); - if (!capabilities.isCapabilityPresent(Capabilities.METRICS)) { + if (!capabilities.isPresent(Capability.METRICS)) { //disable fault tolerance metrics with the MP sys props and provides a No-op metric registry. additionalBean.produce(AdditionalBeanBuildItem.builder().addBeanClass(NoopMetricRegistry.class).setRemovable() .setDefaultScope(DotName.createSimple(Singleton.class.getName())).build()); diff --git a/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java b/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java index 7c89630c60ce4..71901a6a2e11e 100644 --- a/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java +++ b/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java @@ -29,6 +29,8 @@ import io.quarkus.bootstrap.model.AppArtifact; import io.quarkus.bootstrap.model.AppDependency; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -99,7 +101,7 @@ public class SmallRyeGraphQLProcessor { @BuildStep void feature(BuildProducer featureProducer) { - featureProducer.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_GRAPHQL)); + featureProducer.produce(new FeatureBuildItem(Feature.SMALLRYE_GRAPHQL)); } @BuildStep @@ -162,7 +164,7 @@ void activateMetrics(Capabilities capabilities, BuildProducer unremovableBeans, BuildProducer systemProperties) { if (smallRyeGraphQLConfig.metricsEnabled) { - if (capabilities.isCapabilityPresent(Capabilities.METRICS)) { + if (capabilities.isPresent(Capability.METRICS)) { unremovableBeans.produce(new UnremovableBeanBuildItem( new UnremovableBeanBuildItem.BeanClassNameExclusion("io.smallrye.metrics.MetricsRegistryImpl"))); unremovableBeans.produce(new UnremovableBeanBuildItem( @@ -226,7 +228,7 @@ void buildEndpoints( @BuildStep void openTracingIntegration(Capabilities capabilities, BuildProducer properties) { - if (capabilities.isCapabilityPresent(Capabilities.SMALLRYE_OPENTRACING)) { + if (capabilities.isPresent(Capability.SMALLRYE_OPENTRACING)) { properties.produce(new SystemPropertyBuildItem("smallrye.graphql.tracing.enabled", "true")); } } diff --git a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java index 9e40e70741fe4..3fc0be8137f4b 100644 --- a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java +++ b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java @@ -29,6 +29,7 @@ import io.quarkus.arc.processor.AnnotationsTransformer; import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -129,7 +130,7 @@ void build(SmallRyeHealthRecorder recorder, RecorderContext recorderContext, BuildProducer displayableEndpoints, LaunchModeBuildItem launchModeBuildItem) throws IOException { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_HEALTH)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_HEALTH)); // add health endpoints to not found page if (launchModeBuildItem.getLaunchMode().isDevOrTest()) { diff --git a/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallRyeJwtProcessor.java b/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallRyeJwtProcessor.java index c7e938c7c955c..670dd5bb28577 100644 --- a/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallRyeJwtProcessor.java +++ b/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallRyeJwtProcessor.java @@ -22,7 +22,8 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; import io.quarkus.arc.processor.InjectionPointInfo; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -57,7 +58,7 @@ class SmallRyeJwtProcessor { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.JWT); + return new CapabilityBuildItem(Capability.JWT); } /** @@ -96,7 +97,7 @@ void registerAdditionalBeans(BuildProducer additionalBe */ @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_JWT); + return new FeatureBuildItem(Feature.SMALLRYE_JWT); } /** diff --git a/extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsProcessor.java b/extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsProcessor.java index 5a4f5262244fe..c97d87d27bae2 100644 --- a/extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsProcessor.java +++ b/extensions/smallrye-metrics/deployment/src/main/java/io/quarkus/smallrye/metrics/deployment/SmallRyeMetricsProcessor.java @@ -53,7 +53,8 @@ import io.quarkus.arc.processor.BuildExtension; import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -262,12 +263,12 @@ AutoInjectAnnotationBuildItem autoInjectMetric() { @BuildStep public CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.METRICS); + return new CapabilityBuildItem(Capability.METRICS); } @BuildStep public FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_METRICS); + return new FeatureBuildItem(Feature.SMALLRYE_METRICS); } @BuildStep diff --git a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java index 0ef8a6f74e730..13993bbc3a3f0 100644 --- a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java +++ b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java @@ -35,6 +35,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -245,7 +246,7 @@ public void build(ApplicationArchivesBuildItem archivesBuildItem, OpenApiFilteredIndexViewBuildItem openApiFilteredIndexViewBuildItem) throws Exception { FilteredIndexView index = openApiFilteredIndexViewBuildItem.getIndex(); - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_OPENAPI)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_OPENAPI)); OpenAPI staticModel = generateStaticModel(archivesBuildItem); OpenAPI annotationModel; diff --git a/extensions/smallrye-opentracing/deployment/src/main/java/io/quarkus/smallrye/opentracing/deployment/SmallRyeOpenTracingProcessor.java b/extensions/smallrye-opentracing/deployment/src/main/java/io/quarkus/smallrye/opentracing/deployment/SmallRyeOpenTracingProcessor.java index 126a07828801f..45dfe461106ee 100644 --- a/extensions/smallrye-opentracing/deployment/src/main/java/io/quarkus/smallrye/opentracing/deployment/SmallRyeOpenTracingProcessor.java +++ b/extensions/smallrye-opentracing/deployment/src/main/java/io/quarkus/smallrye/opentracing/deployment/SmallRyeOpenTracingProcessor.java @@ -9,6 +9,8 @@ import io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CapabilityBuildItem; @@ -39,11 +41,11 @@ void setupFilter(BuildProducer providers, BuildProducer feature, Capabilities capabilities) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SMALLRYE_OPENTRACING)); + feature.produce(new FeatureBuildItem(Feature.SMALLRYE_OPENTRACING)); providers.produce(new ResteasyJaxrsProviderBuildItem(QuarkusSmallRyeTracingDynamicFeature.class.getName())); - if (capabilities.isCapabilityPresent(Capabilities.SERVLET)) { + if (capabilities.isPresent(Capability.SERVLET)) { FilterBuildItem filterInfo = FilterBuildItem.builder("tracingFilter", SpanFinishingFilter.class.getName()) .setAsyncSupported(true) .addFilterUrlMapping("*", DispatcherType.FORWARD) @@ -62,7 +64,7 @@ void setupFilter(BuildProducer providers, @BuildStep public CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SMALLRYE_OPENTRACING); + return new CapabilityBuildItem(Capability.SMALLRYE_OPENTRACING); } } diff --git a/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/SmallRyeReactiveMessagingAmqpProcessor.java b/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/SmallRyeReactiveMessagingAmqpProcessor.java index 10abd483e9032..d8ea700cff28b 100644 --- a/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/SmallRyeReactiveMessagingAmqpProcessor.java +++ b/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/SmallRyeReactiveMessagingAmqpProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.smallrye.reactivemessaging.amqp.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -7,7 +8,7 @@ public class SmallRyeReactiveMessagingAmqpProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_MESSAGING_AMQP); + return new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_MESSAGING_AMQP); } } diff --git a/extensions/smallrye-reactive-messaging-kafka/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/kafka/deployment/SmallRyeReactiveMessagingKafkaProcessor.java b/extensions/smallrye-reactive-messaging-kafka/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/kafka/deployment/SmallRyeReactiveMessagingKafkaProcessor.java index 751546e5e07fb..4ddc060e63c2d 100644 --- a/extensions/smallrye-reactive-messaging-kafka/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/kafka/deployment/SmallRyeReactiveMessagingKafkaProcessor.java +++ b/extensions/smallrye-reactive-messaging-kafka/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/kafka/deployment/SmallRyeReactiveMessagingKafkaProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.smallrye.reactivemessaging.kafka.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -7,6 +8,6 @@ public class SmallRyeReactiveMessagingKafkaProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_MESSAGING_KAFKA); + return new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_MESSAGING_KAFKA); } } diff --git a/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/SmallRyeReactiveMessagingMqttProcessor.java b/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/SmallRyeReactiveMessagingMqttProcessor.java index 1f6b05b04a383..6c6004e8d9d21 100644 --- a/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/SmallRyeReactiveMessagingMqttProcessor.java +++ b/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/SmallRyeReactiveMessagingMqttProcessor.java @@ -1,11 +1,12 @@ package io.quarkus.smallrye.reactivemessaging.mqtt.deployment; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; public class SmallRyeReactiveMessagingMqttProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_MESSAGING_MQTT); + return new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_MESSAGING_MQTT); } -} \ No newline at end of file +} diff --git a/extensions/smallrye-reactive-messaging/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/deployment/SmallRyeReactiveMessagingProcessor.java b/extensions/smallrye-reactive-messaging/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/deployment/SmallRyeReactiveMessagingProcessor.java index 8caf3840fcd50..1fd7a879811cc 100644 --- a/extensions/smallrye-reactive-messaging/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/deployment/SmallRyeReactiveMessagingProcessor.java +++ b/extensions/smallrye-reactive-messaging/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/deployment/SmallRyeReactiveMessagingProcessor.java @@ -42,6 +42,8 @@ import io.quarkus.arc.processor.DotNames; import io.quarkus.arc.processor.InjectionPointInfo; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -77,7 +79,7 @@ public class SmallRyeReactiveMessagingProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SMALLRYE_REACTIVE_MESSAGING); + return new FeatureBuildItem(Feature.SMALLRYE_REACTIVE_MESSAGING); } @BuildStep @@ -250,7 +252,7 @@ public List removalExclusions() { @BuildStep public void enableMetrics(BuildProducer transformers, Capabilities capabilities, ReactiveMessagingConfiguration configuration) { - boolean isMetricEnabled = capabilities.isCapabilityPresent(Capabilities.METRICS) && configuration.metricsEnabled; + boolean isMetricEnabled = capabilities.isPresent(Capability.METRICS) && configuration.metricsEnabled; if (!isMetricEnabled) { LOGGER.debug("Metric is disabled - vetoing the MetricDecorator"); // We veto the Metric Decorator diff --git a/extensions/spring-boot-properties/deployment/src/main/java/io/quarkus/spring/boot/properties/deployment/ConfigurationPropertiesProcessor.java b/extensions/spring-boot-properties/deployment/src/main/java/io/quarkus/spring/boot/properties/deployment/ConfigurationPropertiesProcessor.java index 09e300603edb7..e2f475ef4c963 100644 --- a/extensions/spring-boot-properties/deployment/src/main/java/io/quarkus/spring/boot/properties/deployment/ConfigurationPropertiesProcessor.java +++ b/extensions/spring-boot-properties/deployment/src/main/java/io/quarkus/spring/boot/properties/deployment/ConfigurationPropertiesProcessor.java @@ -7,6 +7,7 @@ import io.quarkus.arc.config.ConfigProperties; import io.quarkus.arc.deployment.configproperties.ConfigPropertiesMetadataBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -19,7 +20,7 @@ public class ConfigurationPropertiesProcessor { @BuildStep public FeatureBuildItem registerFeature() { - return new FeatureBuildItem(FeatureBuildItem.SPRING_BOOT_PROPERTIES); + return new FeatureBuildItem(Feature.SPRING_BOOT_PROPERTIES); } @BuildStep diff --git a/extensions/spring-cache/deployment/src/main/java/io/quarkus/spring/cache/SpringCacheProcessor.java b/extensions/spring-cache/deployment/src/main/java/io/quarkus/spring/cache/SpringCacheProcessor.java index 42a950a247507..2ef40f21c5cb6 100644 --- a/extensions/spring-cache/deployment/src/main/java/io/quarkus/spring/cache/SpringCacheProcessor.java +++ b/extensions/spring-cache/deployment/src/main/java/io/quarkus/spring/cache/SpringCacheProcessor.java @@ -21,6 +21,7 @@ import io.quarkus.arc.deployment.AnnotationsTransformerBuildItem; import io.quarkus.cache.deployment.AdditionalCacheNameBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -42,7 +43,7 @@ public class SpringCacheProcessor { @BuildStep void feature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SPRING_CACHE)); + feature.produce(new FeatureBuildItem(Feature.SPRING_CACHE)); } @BuildStep diff --git a/extensions/spring-cloud-config-client/deployment/src/main/java/io/quarkus/spring/cloud/config/client/SpringCloudConfigProcessor.java b/extensions/spring-cloud-config-client/deployment/src/main/java/io/quarkus/spring/cloud/config/client/SpringCloudConfigProcessor.java index 07f2cb27afbde..2e34cbdcc894a 100644 --- a/extensions/spring-cloud-config-client/deployment/src/main/java/io/quarkus/spring/cloud/config/client/SpringCloudConfigProcessor.java +++ b/extensions/spring-cloud-config-client/deployment/src/main/java/io/quarkus/spring/cloud/config/client/SpringCloudConfigProcessor.java @@ -1,5 +1,6 @@ package io.quarkus.spring.cloud.config.client; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -17,12 +18,12 @@ public class SpringCloudConfigProcessor { @BuildStep public void feature(BuildProducer feature) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SPRING_CLOUD_CONFIG_CLIENT)); + feature.produce(new FeatureBuildItem(Feature.SPRING_CLOUD_CONFIG_CLIENT)); } @BuildStep public void enableSsl(BuildProducer extensionSslNativeSupport) { - extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.SPRING_CLOUD_CONFIG_CLIENT)); + extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.SPRING_CLOUD_CONFIG_CLIENT)); } @BuildStep diff --git a/extensions/spring-data-jpa/deployment/src/main/java/io/quarkus/spring/data/deployment/SpringDataJPAProcessor.java b/extensions/spring-data-jpa/deployment/src/main/java/io/quarkus/spring/data/deployment/SpringDataJPAProcessor.java index b58dbdf8d2f1e..ac7c86ba1f47f 100644 --- a/extensions/spring-data-jpa/deployment/src/main/java/io/quarkus/spring/data/deployment/SpringDataJPAProcessor.java +++ b/extensions/spring-data-jpa/deployment/src/main/java/io/quarkus/spring/data/deployment/SpringDataJPAProcessor.java @@ -31,6 +31,7 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.GeneratedBeanBuildItem; import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -64,7 +65,7 @@ public class SpringDataJPAProcessor { @BuildStep FeatureBuildItem registerFeature() { - return new FeatureBuildItem(FeatureBuildItem.SPRING_DATA_JPA); + return new FeatureBuildItem(Feature.SPRING_DATA_JPA); } @BuildStep diff --git a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java index dca4ab5ac17f8..467e153e544ce 100644 --- a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java +++ b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java @@ -31,6 +31,7 @@ import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; import io.quarkus.arc.processor.Transformation; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -85,7 +86,7 @@ static boolean isAnnotation(final int mod) { @BuildStep FeatureBuildItem registerFeature() { - return new FeatureBuildItem(FeatureBuildItem.SPRING_DI); + return new FeatureBuildItem(Feature.SPRING_DI); } /* diff --git a/extensions/spring-security/deployment/src/main/java/io/quarkus/spring/security/deployment/SpringSecurityProcessor.java b/extensions/spring-security/deployment/src/main/java/io/quarkus/spring/security/deployment/SpringSecurityProcessor.java index d43affb6c43d9..7deac4526ddb0 100644 --- a/extensions/spring-security/deployment/src/main/java/io/quarkus/spring/security/deployment/SpringSecurityProcessor.java +++ b/extensions/spring-security/deployment/src/main/java/io/quarkus/spring/security/deployment/SpringSecurityProcessor.java @@ -31,6 +31,7 @@ import io.quarkus.arc.deployment.InterceptorBindingRegistrarBuildItem; import io.quarkus.arc.deployment.UnremovableBeanBuildItem; import io.quarkus.arc.processor.AnnotationsTransformer; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -65,7 +66,7 @@ static boolean isAnnotation(final int mod) { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.SPRING_SECURITY); + return new FeatureBuildItem(Feature.SPRING_SECURITY); } @BuildStep diff --git a/extensions/spring-web/deployment/src/main/java/io/quarkus/spring/web/deployment/SpringWebProcessor.java b/extensions/spring-web/deployment/src/main/java/io/quarkus/spring/web/deployment/SpringWebProcessor.java index c777069ebac15..d40cfcc48b7e7 100644 --- a/extensions/spring-web/deployment/src/main/java/io/quarkus/spring/web/deployment/SpringWebProcessor.java +++ b/extensions/spring-web/deployment/src/main/java/io/quarkus/spring/web/deployment/SpringWebProcessor.java @@ -35,6 +35,7 @@ import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem; import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem; import io.quarkus.arc.processor.BuiltinScope; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.IsDevelopment; import io.quarkus.deployment.annotations.BuildProducer; @@ -99,7 +100,7 @@ public class SpringWebProcessor { @BuildStep FeatureBuildItem registerFeature() { - return new FeatureBuildItem(FeatureBuildItem.SPRING_WEB); + return new FeatureBuildItem(Feature.SPRING_WEB); } @BuildStep diff --git a/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiProcessor.java b/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiProcessor.java index fe5cd4d3caef0..1b450ee4fbfb6 100644 --- a/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiProcessor.java +++ b/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiProcessor.java @@ -22,6 +22,7 @@ import io.quarkus.arc.deployment.BeanContainerBuildItem; import io.quarkus.bootstrap.model.AppArtifact; import io.quarkus.bootstrap.model.AppDependency; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -69,7 +70,7 @@ public class SwaggerUiProcessor { @BuildStep void feature(BuildProducer feature) { if (swaggerUiConfig.enable && (launch.getLaunchMode().isDevOrTest() || swaggerUiConfig.alwaysInclude)) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.SWAGGER_UI)); + feature.produce(new FeatureBuildItem(Feature.SWAGGER_UI)); } } diff --git a/extensions/tika/deployment/src/main/java/io/quarkus/tika/deployment/TikaProcessor.java b/extensions/tika/deployment/src/main/java/io/quarkus/tika/deployment/TikaProcessor.java index 2d44db53de4bf..b5fd7e076bda6 100644 --- a/extensions/tika/deployment/src/main/java/io/quarkus/tika/deployment/TikaProcessor.java +++ b/extensions/tika/deployment/src/main/java/io/quarkus/tika/deployment/TikaProcessor.java @@ -19,7 +19,8 @@ import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanContainerBuildItem; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -58,12 +59,12 @@ AdditionalBeanBuildItem beans() { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.TIKA); + return new CapabilityBuildItem(Capability.TIKA); } @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.TIKA); + return new FeatureBuildItem(Feature.TIKA); } @BuildStep diff --git a/extensions/undertow-websockets/deployment/src/main/java/io/quarkus/undertow/websockets/deployment/UndertowWebsocketProcessor.java b/extensions/undertow-websockets/deployment/src/main/java/io/quarkus/undertow/websockets/deployment/UndertowWebsocketProcessor.java index dded721abcffc..b2fda10dba0bb 100644 --- a/extensions/undertow-websockets/deployment/src/main/java/io/quarkus/undertow/websockets/deployment/UndertowWebsocketProcessor.java +++ b/extensions/undertow-websockets/deployment/src/main/java/io/quarkus/undertow/websockets/deployment/UndertowWebsocketProcessor.java @@ -23,6 +23,7 @@ import org.jboss.jandex.Type; import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -50,7 +51,7 @@ public class UndertowWebsocketProcessor { @BuildStep void holdConfig(BuildProducer feature, HotReloadConfig hotReloadConfig) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.UNDERTOW_WEBSOCKETS)); + feature.produce(new FeatureBuildItem(Feature.UNDERTOW_WEBSOCKETS)); } @BuildStep diff --git a/extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java b/extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java index 8fbb654190cb1..bdcb9072f4585 100644 --- a/extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java +++ b/extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java @@ -81,6 +81,8 @@ import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.arc.processor.ContextRegistrar; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; @@ -140,12 +142,12 @@ public class UndertowBuildStep { @BuildStep CapabilityBuildItem capability() { - return new CapabilityBuildItem(Capabilities.SERVLET); + return new CapabilityBuildItem(Capability.SERVLET); } @BuildStep public FeatureBuildItem setupCapability() { - return new FeatureBuildItem(FeatureBuildItem.SERVLET); + return new FeatureBuildItem(Feature.SERVLET); } @BuildStep @@ -161,7 +163,7 @@ public ServiceStartBuildItem boot(UndertowDeploymentRecorder recorder, ServletContextPathBuildItem servletContextPathBuildItem, Capabilities capabilities) throws Exception { - if (capabilities.isCapabilityPresent(Capabilities.SECURITY)) { + if (capabilities.isPresent(Capability.SECURITY)) { recorder.setupSecurity(servletDeploymentManagerBuildItem.getDeploymentManager()); } Handler ut = recorder.startUndertow(shutdown, executorBuildItem.getExecutorProxy(), @@ -184,7 +186,7 @@ void integrateCdi(BuildProducer additionalBeans, BuildProducer listeners, Capabilities capabilities) { additionalBeans.produce(new AdditionalBeanBuildItem(ServletProducer.class)); - if (capabilities.isCapabilityPresent(Capabilities.SECURITY)) { + if (capabilities.isPresent(Capability.SECURITY)) { additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(ServletHttpSecurityPolicy.class)); } contextRegistrars.produce(new ContextRegistrarBuildItem(new ContextRegistrar() { diff --git a/extensions/vault/deployment/src/main/java/io/quarkus/vault/VaultProcessor.java b/extensions/vault/deployment/src/main/java/io/quarkus/vault/VaultProcessor.java index 38cddb3244834..d39daaeb49270 100644 --- a/extensions/vault/deployment/src/main/java/io/quarkus/vault/VaultProcessor.java +++ b/extensions/vault/deployment/src/main/java/io/quarkus/vault/VaultProcessor.java @@ -5,6 +5,7 @@ import org.jboss.jandex.DotName; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -35,7 +36,7 @@ void build( SslNativeConfigBuildItem sslNativeConfig, BuildProducer sslNativeSupport) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.VAULT)); + feature.produce(new FeatureBuildItem(Feature.VAULT)); final String[] modelClasses = combinedIndexBuildItem.getIndex() .getAllKnownImplementors(DotName.createSimple(VaultModel.class.getName())) @@ -46,7 +47,7 @@ void build( reflectiveClasses.produce( new ReflectiveClassBuildItem(false, false, Base64StringDeserializer.class, Base64StringSerializer.class)); - sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.VAULT)); + sslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(Feature.VAULT)); } @BuildStep diff --git a/extensions/vertx-graphql/deployment/src/main/java/io/quarkus/vertx/graphql/deployment/VertxGraphqlProcessor.java b/extensions/vertx-graphql/deployment/src/main/java/io/quarkus/vertx/graphql/deployment/VertxGraphqlProcessor.java index f14127eec0658..1d80b073d28d5 100644 --- a/extensions/vertx-graphql/deployment/src/main/java/io/quarkus/vertx/graphql/deployment/VertxGraphqlProcessor.java +++ b/extensions/vertx-graphql/deployment/src/main/java/io/quarkus/vertx/graphql/deployment/VertxGraphqlProcessor.java @@ -5,6 +5,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -29,7 +30,7 @@ class VertxGraphqlProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.VERTX_GRAPHQL); + return new FeatureBuildItem(Feature.VERTX_GRAPHQL); } @BuildStep diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/HttpSecurityProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/HttpSecurityProcessor.java index 55ac5491c20d0..f6cdbfb4a85c2 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/HttpSecurityProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/HttpSecurityProcessor.java @@ -11,6 +11,7 @@ import io.quarkus.arc.deployment.BeanContainerListenerBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -113,7 +114,7 @@ void setupAuthenticationMechanisms( beanProducer.produce(AdditionalBeanBuildItem.unremovableOf(BasicAuthenticationMechanism.class)); } - if (capabilities.isCapabilityPresent(Capabilities.SECURITY)) { + if (capabilities.isPresent(Capability.SECURITY)) { beanProducer .produce(AdditionalBeanBuildItem.builder().setUnremovable().addBeanClass(HttpAuthenticator.class) .addBeanClass(HttpAuthorizer.class).build()); diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java index 9c1ce361b747b..56e7f24d5dcf5 100644 --- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java +++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java @@ -52,6 +52,7 @@ import io.quarkus.arc.processor.BuildExtension; import io.quarkus.arc.processor.BuiltinScope; import io.quarkus.arc.processor.DotNames; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -134,7 +135,7 @@ class VertxWebProcessor { @BuildStep FeatureBuildItem feature() { - return new FeatureBuildItem(FeatureBuildItem.VERTX_WEB); + return new FeatureBuildItem(Feature.VERTX_WEB); } @BuildStep diff --git a/extensions/vertx/deployment/src/main/java/io/quarkus/vertx/deployment/VertxProcessor.java b/extensions/vertx/deployment/src/main/java/io/quarkus/vertx/deployment/VertxProcessor.java index 95e4ef4ce6d34..1f8f0a0a55f88 100644 --- a/extensions/vertx/deployment/src/main/java/io/quarkus/vertx/deployment/VertxProcessor.java +++ b/extensions/vertx/deployment/src/main/java/io/quarkus/vertx/deployment/VertxProcessor.java @@ -28,7 +28,8 @@ import io.quarkus.arc.processor.AnnotationsTransformer; import io.quarkus.arc.processor.BeanInfo; import io.quarkus.arc.processor.BuildExtension; -import io.quarkus.deployment.Capabilities; +import io.quarkus.deployment.Capability; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.GeneratedClassGizmoAdaptor; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -59,8 +60,8 @@ class VertxProcessor { @BuildStep void featureAndCapability(BuildProducer feature, BuildProducer capability) { - feature.produce(new FeatureBuildItem(FeatureBuildItem.VERTX)); - capability.produce(new CapabilityBuildItem(Capabilities.RESTEASY_JSON_EXTENSION)); + feature.produce(new FeatureBuildItem(Feature.VERTX)); + capability.produce(new CapabilityBuildItem(Capability.RESTEASY_JSON)); } @BuildStep diff --git a/extensions/webjars-locator/deployment/src/main/java/io/quarkus/webjar/locator/deployment/WebJarLocatorStandaloneBuildStep.java b/extensions/webjars-locator/deployment/src/main/java/io/quarkus/webjar/locator/deployment/WebJarLocatorStandaloneBuildStep.java index 0e02b1cdcbfaf..372d3925c2d64 100644 --- a/extensions/webjars-locator/deployment/src/main/java/io/quarkus/webjar/locator/deployment/WebJarLocatorStandaloneBuildStep.java +++ b/extensions/webjars-locator/deployment/src/main/java/io/quarkus/webjar/locator/deployment/WebJarLocatorStandaloneBuildStep.java @@ -4,6 +4,7 @@ import org.webjars.WebJarAssetLocator; +import io.quarkus.deployment.Feature; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; @@ -30,7 +31,7 @@ public void findWebjarsAndCreateHandler( // The context path + the resources path String rootPath = httpConfig.rootPath; String webjarRootPath = (rootPath.endsWith("/")) ? rootPath + "webjars/" : rootPath + "/webjars/"; - feature.produce(new FeatureBuildItem(FeatureBuildItem.WEBJARS_LOCATOR)); + feature.produce(new FeatureBuildItem(Feature.WEBJARS_LOCATOR)); routes.produce( new RouteBuildItem(webjarRootPath + "*", recorder.getHandler(webjarRootPath, webjarNameToVersionMap),