From 46ce666581d4d35b2e04e73a74ddd1623d83ebf4 Mon Sep 17 00:00:00 2001 From: Guillaume Smet Date: Thu, 17 Jul 2025 16:54:17 +0200 Subject: [PATCH] Make quarkus:run a proper launch mode The fact that we were hijacking the test one to trigger the Dev Services was problematic as some test build steps were executed. It is now a proper launch mode. Also we now identify more precisely if Dev Services or Live Reload are supported by a launch mode and I adjusted the build steps accordingly. Fixes #48950 but I'm pretty sure some other weird behaviors could have popped up. --- .../IsDevResourcesSupportedByLaunchMode.java | 24 ++++++++++++++ .../IsDevServicesSupportedByLaunchMode.java | 24 ++++++++++++++ .../IsLiveReloadSupportedByLaunchMode.java | 24 ++++++++++++++ .../java/io/quarkus/deployment/IsNormal.java | 2 +- .../runner/bootstrap/AugmentActionImpl.java | 4 +++ .../java/io/quarkus/runtime/LaunchMode.java | 31 ++++++++++++++++--- .../main/java/io/quarkus/maven/RunMojo.java | 4 +-- .../DevServicesLambdaProcessor.java | 3 +- .../DevServicesDatasourceProcessor.java | 4 +-- .../deployment/DevServicesProcessor.java | 6 ++-- .../compose/ComposeDevServicesProcessor.java | 4 +-- .../KeycloakDevServicesProcessor.java | 4 +-- .../oidc/OidcDevServicesProcessor.java | 4 +-- .../DevServicesElasticsearchProcessor.java | 4 +-- .../dev/HibernateOrmDevServicesProcessor.java | 4 +-- ...HibernateSearchElasticsearchProcessor.java | 6 ++-- .../HibernateSearchStandaloneProcessor.java | 4 +-- .../InfinispanDevServiceProcessor.java | 4 +-- .../deployment/DevServicesKafkaProcessor.java | 4 +-- .../KeycloakDevServiceRequiredBuildStep.java | 4 +-- .../KeycloakDevServiceRequiredBuildStep.java | 4 +-- .../DevServicesKubernetesProcessor.java | 5 +-- .../deployment/DevServicesMongoProcessor.java | 4 +-- .../deployment/DevResourcesProcessor.java | 4 +-- .../ObservabilityDevServiceProcessor.java | 4 +-- .../devui/ObservabilityDevUIProcessor.java | 6 ++-- .../KeycloakDevServiceRequiredBuildStep.java | 4 +-- .../KeycloakDevServiceRequiredBuildStep.java | 5 +-- .../KeycloakDevServiceRequiredBuildStep.java | 5 +-- .../client/DevServicesRedisProcessor.java | 4 +-- ...vServicesRestClientHttpProxyProcessor.java | 4 +-- .../DevServicesApicurioRegistryProcessor.java | 4 +-- .../SmallryeJwtDevModeProcessor.java | 4 +-- .../deployment/AmqpDevServicesProcessor.java | 4 +-- .../deployment/MqttDevServicesProcessor.java | 4 +-- .../PulsarDevServicesProcessor.java | 4 +-- .../RabbitMQDevServicesProcessor.java | 4 +-- .../bootstrap/app/BootstrapProfile.java | 1 + .../bootstrap/app/QuarkusBootstrap.java | 1 + 39 files changed, 174 insertions(+), 69 deletions(-) create mode 100644 core/deployment/src/main/java/io/quarkus/deployment/IsDevResourcesSupportedByLaunchMode.java create mode 100644 core/deployment/src/main/java/io/quarkus/deployment/IsDevServicesSupportedByLaunchMode.java create mode 100644 core/deployment/src/main/java/io/quarkus/deployment/IsLiveReloadSupportedByLaunchMode.java diff --git a/core/deployment/src/main/java/io/quarkus/deployment/IsDevResourcesSupportedByLaunchMode.java b/core/deployment/src/main/java/io/quarkus/deployment/IsDevResourcesSupportedByLaunchMode.java new file mode 100644 index 0000000000000..d74780f38eb35 --- /dev/null +++ b/core/deployment/src/main/java/io/quarkus/deployment/IsDevResourcesSupportedByLaunchMode.java @@ -0,0 +1,24 @@ +package io.quarkus.deployment; + +import java.util.function.BooleanSupplier; + +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.runtime.LaunchMode; + +/** + * boolean supplier that returns true if Dev Resources are enabled. + * Intended for use with {@link BuildStep#onlyIf()} + */ +public class IsDevResourcesSupportedByLaunchMode implements BooleanSupplier { + + private final LaunchMode launchMode; + + public IsDevResourcesSupportedByLaunchMode(LaunchMode launchMode) { + this.launchMode = launchMode; + } + + @Override + public boolean getAsBoolean() { + return launchMode.isDevResourcesSupported(); + } +} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/IsDevServicesSupportedByLaunchMode.java b/core/deployment/src/main/java/io/quarkus/deployment/IsDevServicesSupportedByLaunchMode.java new file mode 100644 index 0000000000000..10c288aea6915 --- /dev/null +++ b/core/deployment/src/main/java/io/quarkus/deployment/IsDevServicesSupportedByLaunchMode.java @@ -0,0 +1,24 @@ +package io.quarkus.deployment; + +import java.util.function.BooleanSupplier; + +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.runtime.LaunchMode; + +/** + * boolean supplier that returns true if Dev Services are enabled. + * Intended for use with {@link BuildStep#onlyIf()} + */ +public class IsDevServicesSupportedByLaunchMode implements BooleanSupplier { + + private final LaunchMode launchMode; + + public IsDevServicesSupportedByLaunchMode(LaunchMode launchMode) { + this.launchMode = launchMode; + } + + @Override + public boolean getAsBoolean() { + return launchMode.isDevServicesSupported(); + } +} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/IsLiveReloadSupportedByLaunchMode.java b/core/deployment/src/main/java/io/quarkus/deployment/IsLiveReloadSupportedByLaunchMode.java new file mode 100644 index 0000000000000..6d3fa3748f508 --- /dev/null +++ b/core/deployment/src/main/java/io/quarkus/deployment/IsLiveReloadSupportedByLaunchMode.java @@ -0,0 +1,24 @@ +package io.quarkus.deployment; + +import java.util.function.BooleanSupplier; + +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.runtime.LaunchMode; + +/** + * boolean supplier that returns true if live reload is enabled. + * Intended for use with {@link BuildStep#onlyIf()} + */ +public class IsLiveReloadSupportedByLaunchMode implements BooleanSupplier { + + private final LaunchMode launchMode; + + public IsLiveReloadSupportedByLaunchMode(LaunchMode launchMode) { + this.launchMode = launchMode; + } + + @Override + public boolean getAsBoolean() { + return launchMode.isLiveReloadSupported(); + } +} diff --git a/core/deployment/src/main/java/io/quarkus/deployment/IsNormal.java b/core/deployment/src/main/java/io/quarkus/deployment/IsNormal.java index c9f0065fc91ed..6598fbe368a19 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/IsNormal.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/IsNormal.java @@ -19,6 +19,6 @@ public IsNormal(LaunchMode launchMode) { @Override public boolean getAsBoolean() { - return launchMode == LaunchMode.NORMAL; + return launchMode == LaunchMode.NORMAL || launchMode == LaunchMode.RUN; } } diff --git a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/AugmentActionImpl.java b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/AugmentActionImpl.java index 28d0bdb5096a7..f246f9a3fb2d6 100644 --- a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/AugmentActionImpl.java +++ b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/AugmentActionImpl.java @@ -112,6 +112,10 @@ public AugmentActionImpl(CuratedApplication curatedApplication, List() { @Override public void accept(QuarkusBootstrap.Builder builder) { // we need this for dev services - builder.setMode(QuarkusBootstrap.Mode.TEST); + builder.setMode(QuarkusBootstrap.Mode.RUN); } })) { AugmentAction action = curatedApplication.createAugmentor(); diff --git a/extensions/amazon-lambda/common-deployment/src/main/java/io/quarkus/amazon/lambda/deployment/DevServicesLambdaProcessor.java b/extensions/amazon-lambda/common-deployment/src/main/java/io/quarkus/amazon/lambda/deployment/DevServicesLambdaProcessor.java index 4da747228366c..29ab5d066f07c 100644 --- a/extensions/amazon-lambda/common-deployment/src/main/java/io/quarkus/amazon/lambda/deployment/DevServicesLambdaProcessor.java +++ b/extensions/amazon-lambda/common-deployment/src/main/java/io/quarkus/amazon/lambda/deployment/DevServicesLambdaProcessor.java @@ -12,6 +12,7 @@ import io.quarkus.amazon.lambda.runtime.LambdaHotReplacementRecorder; import io.quarkus.amazon.lambda.runtime.MockEventServer; import io.quarkus.deployment.Feature; +import io.quarkus.deployment.IsLiveReloadSupportedByLaunchMode; import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -26,7 +27,7 @@ public class DevServicesLambdaProcessor { private static final Logger log = Logger.getLogger(DevServicesLambdaProcessor.class); - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsLiveReloadSupportedByLaunchMode.class) @Record(STATIC_INIT) public void enableHotReplacementChecker(LaunchModeBuildItem launchMode, LambdaHotReplacementRecorder recorder, diff --git a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java index 656203d929f05..508cf03c87c08 100644 --- a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java +++ b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java @@ -24,7 +24,7 @@ import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig; import io.quarkus.deployment.Capabilities; import io.quarkus.deployment.Capability; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -42,7 +42,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesDatasourceProcessor { private static final Logger log = Logger.getLogger(DevServicesDatasourceProcessor.class); diff --git a/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/DevServicesProcessor.java b/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/DevServicesProcessor.java index 7f487ee7f5e6d..137dcd638be65 100644 --- a/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/DevServicesProcessor.java +++ b/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/DevServicesProcessor.java @@ -36,8 +36,8 @@ import com.github.dockerjava.api.model.Container; import com.github.dockerjava.api.model.ContainerNetworkSettings; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Produce; @@ -89,7 +89,7 @@ public DevServicesNetworkIdBuildItem networkId( return new DevServicesNetworkIdBuildItem(networkId); } - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsDevServicesSupportedByLaunchMode.class) @Produce(ServiceStartBuildItem.class) public DevServicesCustomizerBuildItem containerCustomizer(LaunchModeBuildItem launchModeBuildItem, DevServicesConfig globalDevServicesConfig) { @@ -140,7 +140,7 @@ private Optional getSharedNetworkId() { } } - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsDevServicesSupportedByLaunchMode.class) @Produce(ServiceStartBuildItem.class) DevServicesRegistryBuildItem devServicesRegistry(LaunchModeBuildItem launchMode, ApplicationInstanceIdBuildItem applicationId, diff --git a/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/compose/ComposeDevServicesProcessor.java b/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/compose/ComposeDevServicesProcessor.java index fca81d13b5219..b053d52294c93 100644 --- a/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/compose/ComposeDevServicesProcessor.java +++ b/extensions/devservices/deployment/src/main/java/io/quarkus/devservices/deployment/compose/ComposeDevServicesProcessor.java @@ -27,7 +27,7 @@ import org.jboss.logging.Logger; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -56,7 +56,7 @@ /** * Processor that starts the Compose dev services. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class ComposeDevServicesProcessor { private static final Logger log = Logger.getLogger(ComposeDevServicesProcessor.class); diff --git a/extensions/devservices/keycloak/src/main/java/io/quarkus/devservices/keycloak/KeycloakDevServicesProcessor.java b/extensions/devservices/keycloak/src/main/java/io/quarkus/devservices/keycloak/KeycloakDevServicesProcessor.java index 911812d4e6f83..8238f14659e3c 100644 --- a/extensions/devservices/keycloak/src/main/java/io/quarkus/devservices/keycloak/KeycloakDevServicesProcessor.java +++ b/extensions/devservices/keycloak/src/main/java/io/quarkus/devservices/keycloak/KeycloakDevServicesProcessor.java @@ -49,8 +49,8 @@ import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.utility.DockerImageName; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -82,7 +82,7 @@ import io.vertx.mutiny.ext.web.client.HttpResponse; import io.vertx.mutiny.ext.web.client.WebClient; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class KeycloakDevServicesProcessor { private static final Logger LOG = Logger.getLogger(KeycloakDevServicesProcessor.class); diff --git a/extensions/devservices/oidc/src/main/java/io/quarkus/devservices/oidc/OidcDevServicesProcessor.java b/extensions/devservices/oidc/src/main/java/io/quarkus/devservices/oidc/OidcDevServicesProcessor.java index ee199b5a3af13..ed9ac598b1274 100644 --- a/extensions/devservices/oidc/src/main/java/io/quarkus/devservices/oidc/OidcDevServicesProcessor.java +++ b/extensions/devservices/oidc/src/main/java/io/quarkus/devservices/oidc/OidcDevServicesProcessor.java @@ -31,7 +31,7 @@ import org.jboss.logging.Logger; import org.jose4j.base64url.Base64Url; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -51,7 +51,7 @@ import io.vertx.mutiny.ext.web.RoutingContext; import io.vertx.mutiny.ext.web.handler.BodyHandler; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class OidcDevServicesProcessor { private static final Logger LOG = Logger.getLogger(OidcDevServicesProcessor.class); diff --git a/extensions/elasticsearch-rest-client-common/deployment/src/main/java/io/quarkus/elasticsearch/restclient/common/deployment/DevServicesElasticsearchProcessor.java b/extensions/elasticsearch-rest-client-common/deployment/src/main/java/io/quarkus/elasticsearch/restclient/common/deployment/DevServicesElasticsearchProcessor.java index 011946412d6ac..6a57e4e4df799 100644 --- a/extensions/elasticsearch-rest-client-common/deployment/src/main/java/io/quarkus/elasticsearch/restclient/common/deployment/DevServicesElasticsearchProcessor.java +++ b/extensions/elasticsearch-rest-client-common/deployment/src/main/java/io/quarkus/elasticsearch/restclient/common/deployment/DevServicesElasticsearchProcessor.java @@ -21,7 +21,7 @@ import io.quarkus.builder.BuildException; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -48,7 +48,7 @@ /** * Starts an Elasticsearch server as dev service if needed. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesElasticsearchProcessor { private static final Logger log = Logger.getLogger(DevServicesElasticsearchProcessor.class); diff --git a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/dev/HibernateOrmDevServicesProcessor.java b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/dev/HibernateOrmDevServicesProcessor.java index 0d4fde909314b..c14e9765dd141 100644 --- a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/dev/HibernateOrmDevServicesProcessor.java +++ b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/dev/HibernateOrmDevServicesProcessor.java @@ -11,7 +11,7 @@ import io.quarkus.agroal.spi.JdbcDataSourceSchemaReadyBuildItem; import io.quarkus.datasource.common.runtime.DataSourceUtil; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -23,7 +23,7 @@ import io.quarkus.hibernate.orm.runtime.HibernateOrmRuntimeConfig; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIf = HibernateOrmEnabled.class, onlyIfNot = IsNormal.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, HibernateOrmEnabled.class }) public class HibernateOrmDevServicesProcessor { private static final Logger LOG = Logger.getLogger(HibernateOrmDevServicesProcessor.class); diff --git a/extensions/hibernate-search-orm-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/deployment/HibernateSearchElasticsearchProcessor.java b/extensions/hibernate-search-orm-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/deployment/HibernateSearchElasticsearchProcessor.java index 30456739adaad..ed5306bdb8b0a 100644 --- a/extensions/hibernate-search-orm-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/deployment/HibernateSearchElasticsearchProcessor.java +++ b/extensions/hibernate-search-orm-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/deployment/HibernateSearchElasticsearchProcessor.java @@ -29,7 +29,7 @@ import org.jboss.logging.Logger; import io.quarkus.arc.deployment.UnremovableBeanBuildItem; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -261,7 +261,7 @@ void setRuntimeConfig(HibernateSearchElasticsearchRecorder recorder, } } - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsDevServicesSupportedByLaunchMode.class) DevservicesElasticsearchBuildItem devServices(HibernateSearchElasticsearchBuildTimeConfig buildTimeConfig) { var defaultPUConfig = buildTimeConfig.persistenceUnits().get(PersistenceUnitUtil.DEFAULT_PERSISTENCE_UNIT_NAME); if (defaultPUConfig == null) { @@ -289,7 +289,7 @@ DevservicesElasticsearchBuildItem devServices(HibernateSearchElasticsearchBuildT Distribution.valueOf(version.distribution().toString().toUpperCase())); } - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsDevServicesSupportedByLaunchMode.class) void devServicesDropAndCreateAndDropByDefault( List configuredPersistenceUnits, BuildProducer devServicesAdditionalConfigProducer) { diff --git a/extensions/hibernate-search-standalone-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/standalone/elasticsearch/deployment/HibernateSearchStandaloneProcessor.java b/extensions/hibernate-search-standalone-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/standalone/elasticsearch/deployment/HibernateSearchStandaloneProcessor.java index a8c24a3218746..01386496d1b57 100644 --- a/extensions/hibernate-search-standalone-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/standalone/elasticsearch/deployment/HibernateSearchStandaloneProcessor.java +++ b/extensions/hibernate-search-standalone-elasticsearch/deployment/src/main/java/io/quarkus/hibernate/search/standalone/elasticsearch/deployment/HibernateSearchStandaloneProcessor.java @@ -33,7 +33,7 @@ import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem; import io.quarkus.arc.deployment.SyntheticBeanBuildItem; import io.quarkus.arc.processor.DotNames; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -210,7 +210,7 @@ void boot(Optional enabled, serviceStart.produce(new ServiceStartBuildItem("Hibernate Search Standalone")); } - @BuildStep(onlyIfNot = IsNormal.class) + @BuildStep(onlyIf = IsDevServicesSupportedByLaunchMode.class) void devServices(Optional enabled, HibernateSearchStandaloneBuildTimeConfig buildTimeConfig, BuildProducer buildItemBuildProducer, diff --git a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devservices/InfinispanDevServiceProcessor.java b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devservices/InfinispanDevServiceProcessor.java index 86bd90c27c7ec..5609ba1622035 100644 --- a/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devservices/InfinispanDevServiceProcessor.java +++ b/extensions/infinispan-client/deployment/src/main/java/io/quarkus/infinispan/client/deployment/devservices/InfinispanDevServiceProcessor.java @@ -23,7 +23,7 @@ import org.testcontainers.containers.BindMode; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -49,7 +49,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class InfinispanDevServiceProcessor { private static final Logger log = Logger.getLogger(InfinispanDevServiceProcessor.class); diff --git a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/DevServicesKafkaProcessor.java b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/DevServicesKafkaProcessor.java index fd619fb16502b..7633f538c6408 100644 --- a/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/DevServicesKafkaProcessor.java +++ b/extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/DevServicesKafkaProcessor.java @@ -24,7 +24,7 @@ import org.testcontainers.utility.DockerImageName; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.DevServicesComposeProjectBuildItem; @@ -44,7 +44,7 @@ /** * Starts a Kafka broker as dev service if needed. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesKafkaProcessor { private static final Logger log = Logger.getLogger(DevServicesKafkaProcessor.class); diff --git a/extensions/keycloak-admin-rest-client/deployment/src/main/java/io/quarkus/keycloak/admin/rest/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java b/extensions/keycloak-admin-rest-client/deployment/src/main/java/io/quarkus/keycloak/admin/rest/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java index f35ad136e2d9e..a30ed263f2275 100644 --- a/extensions/keycloak-admin-rest-client/deployment/src/main/java/io/quarkus/keycloak/admin/rest/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java +++ b/extensions/keycloak-admin-rest-client/deployment/src/main/java/io/quarkus/keycloak/admin/rest/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java @@ -2,8 +2,8 @@ import java.util.Map; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.dev.devservices.DevServicesConfig; @@ -12,7 +12,7 @@ import io.quarkus.devui.spi.page.CardPageBuildItem; import io.quarkus.keycloak.admin.client.common.deployment.KeycloakAdminClientInjectionEnabled; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class, +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class, KeycloakAdminClientInjectionEnabled.class }) public class KeycloakDevServiceRequiredBuildStep { diff --git a/extensions/keycloak-admin-resteasy-client/deployment/src/main/java/io/quarkus/keycloak/admin/resteasy/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java b/extensions/keycloak-admin-resteasy-client/deployment/src/main/java/io/quarkus/keycloak/admin/resteasy/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java index 8bc7a20f2675b..e20da6a689732 100644 --- a/extensions/keycloak-admin-resteasy-client/deployment/src/main/java/io/quarkus/keycloak/admin/resteasy/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java +++ b/extensions/keycloak-admin-resteasy-client/deployment/src/main/java/io/quarkus/keycloak/admin/resteasy/client/deployment/devservices/KeycloakDevServiceRequiredBuildStep.java @@ -2,8 +2,8 @@ import java.util.Map; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.dev.devservices.DevServicesConfig; @@ -12,7 +12,7 @@ import io.quarkus.devui.spi.page.CardPageBuildItem; import io.quarkus.keycloak.admin.client.common.deployment.KeycloakAdminClientInjectionEnabled; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class, +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class, KeycloakAdminClientInjectionEnabled.class }) public class KeycloakDevServiceRequiredBuildStep { diff --git a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/DevServicesKubernetesProcessor.java b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/DevServicesKubernetesProcessor.java index 39e6f8d4098c1..63833b662dafc 100644 --- a/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/DevServicesKubernetesProcessor.java +++ b/extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/DevServicesKubernetesProcessor.java @@ -48,7 +48,7 @@ import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.client.*; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -77,7 +77,8 @@ import io.quarkus.kubernetes.client.spi.KubernetesDevServiceRequestBuildItem; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class, NoQuarkusTestKubernetesClient.class }) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class, + NoQuarkusTestKubernetesClient.class }) public class DevServicesKubernetesProcessor { private static final String KUBERNETES_CLIENT_DEVSERVICES_OVERRIDE_KUBECONFIG = "quarkus.kubernetes-client.devservices.override-kubeconfig"; private static final Logger log = Logger.getLogger(DevServicesKubernetesProcessor.class); diff --git a/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/DevServicesMongoProcessor.java b/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/DevServicesMongoProcessor.java index a36f68058ba8d..b8fa198f56fda 100644 --- a/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/DevServicesMongoProcessor.java +++ b/extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/DevServicesMongoProcessor.java @@ -23,7 +23,7 @@ import com.github.dockerjava.zerodep.shaded.org.apache.hc.core5.net.URLEncodedUtils; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -45,7 +45,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesMongoProcessor { private static final Logger log = Logger.getLogger(DevServicesMongoProcessor.class); diff --git a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/DevResourcesProcessor.java b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/DevResourcesProcessor.java index 88d17c7c34d13..0f9bc87dcfd84 100644 --- a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/DevResourcesProcessor.java +++ b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/DevResourcesProcessor.java @@ -5,7 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevResourcesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.annotations.ExecutionTime; @@ -17,7 +17,7 @@ import io.quarkus.observability.runtime.DevResourcesConfigBuilder; import io.quarkus.observability.runtime.config.ObservabilityConfiguration; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevResourcesProcessor.IsEnabled.class) +@BuildSteps(onlyIf = { IsDevResourcesSupportedByLaunchMode.class, DevResourcesProcessor.IsEnabled.class }) class DevResourcesProcessor { private static final Logger log = LoggerFactory.getLogger(DevResourcesProcessor.class); private static final String FEATURE = "devresources"; diff --git a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/ObservabilityDevServiceProcessor.java b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/ObservabilityDevServiceProcessor.java index f580baff9ea02..2fccf20b44caa 100644 --- a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/ObservabilityDevServiceProcessor.java +++ b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/ObservabilityDevServiceProcessor.java @@ -20,7 +20,7 @@ import io.quarkus.deployment.Capabilities; import io.quarkus.deployment.Capability; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -51,7 +51,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.metrics.MetricsFactory; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class, +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class, ObservabilityDevServiceProcessor.IsEnabled.class }) class ObservabilityDevServiceProcessor { private static final Logger log = Logger.getLogger(ObservabilityDevServiceProcessor.class); diff --git a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/devui/ObservabilityDevUIProcessor.java b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/devui/ObservabilityDevUIProcessor.java index e44d07c04a929..615e18d38e884 100644 --- a/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/devui/ObservabilityDevUIProcessor.java +++ b/extensions/observability-devservices/deployment/src/main/java/io/quarkus/observability/deployment/devui/ObservabilityDevUIProcessor.java @@ -5,8 +5,8 @@ import org.apache.commons.lang3.StringUtils; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -20,7 +20,7 @@ /** * Dev UI card for displaying important details such LGTM embedded UI. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class }) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class ObservabilityDevUIProcessor { @BuildStep(onlyIf = IsDevelopment.class) @@ -66,4 +66,4 @@ void createVersion(BuildProducer cardPageBuildItemBuildProduc } } } -} \ No newline at end of file +} diff --git a/extensions/oidc-client-registration/deployment/src/main/java/io/quarkus/oidc/client/registration/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java b/extensions/oidc-client-registration/deployment/src/main/java/io/quarkus/oidc/client/registration/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java index bff9cd44584b0..158995f5934f5 100644 --- a/extensions/oidc-client-registration/deployment/src/main/java/io/quarkus/oidc/client/registration/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java +++ b/extensions/oidc-client-registration/deployment/src/main/java/io/quarkus/oidc/client/registration/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java @@ -8,8 +8,8 @@ import org.keycloak.representations.idm.ComponentExportRepresentation; import org.keycloak.representations.idm.RealmRepresentation; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.dev.devservices.DevServicesConfig; @@ -19,7 +19,7 @@ import io.quarkus.devui.spi.page.CardPageBuildItem; import io.quarkus.oidc.client.registration.deployment.OidcClientRegistrationBuildStep; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { OidcClientRegistrationBuildStep.IsEnabled.class, +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, OidcClientRegistrationBuildStep.IsEnabled.class, DevServicesConfig.Enabled.class }) public class KeycloakDevServiceRequiredBuildStep { diff --git a/extensions/oidc-client/deployment/src/main/java/io/quarkus/oidc/client/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java b/extensions/oidc-client/deployment/src/main/java/io/quarkus/oidc/client/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java index 5ca43f77ad4bd..fa329cce9f85a 100644 --- a/extensions/oidc-client/deployment/src/main/java/io/quarkus/oidc/client/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java +++ b/extensions/oidc-client/deployment/src/main/java/io/quarkus/oidc/client/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java @@ -2,8 +2,8 @@ import java.util.HashMap; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.IsDevelopment; -import io.quarkus.deployment.IsNormal; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.dev.devservices.DevServicesConfig; @@ -13,7 +13,8 @@ import io.quarkus.devui.spi.page.CardPageBuildItem; import io.quarkus.oidc.client.deployment.OidcClientBuildStep; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { OidcClientBuildStep.IsEnabled.class, DevServicesConfig.Enabled.class }) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, OidcClientBuildStep.IsEnabled.class, + DevServicesConfig.Enabled.class }) public class KeycloakDevServiceRequiredBuildStep { private static final String CONFIG_PREFIX = "quarkus.oidc-client."; diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java index 3087bdc421efd..db867631afb11 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServiceRequiredBuildStep.java @@ -7,7 +7,7 @@ import org.eclipse.microprofile.config.ConfigProvider; import org.jboss.logging.Logger; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.dev.devservices.DevServicesConfig; @@ -15,7 +15,8 @@ import io.quarkus.devservices.keycloak.KeycloakDevServicesRequiredBuildItem; import io.quarkus.oidc.deployment.OidcBuildStep; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { OidcBuildStep.IsEnabled.class, DevServicesConfig.Enabled.class }) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, OidcBuildStep.IsEnabled.class, + DevServicesConfig.Enabled.class }) public class KeycloakDevServiceRequiredBuildStep { private static final Logger LOG = Logger.getLogger(KeycloakDevServiceRequiredBuildStep.class); diff --git a/extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesRedisProcessor.java b/extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesRedisProcessor.java index 0336d8168840b..0a4fd899be26e 100644 --- a/extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesRedisProcessor.java +++ b/extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/DevServicesRedisProcessor.java @@ -14,7 +14,7 @@ import org.testcontainers.utility.DockerImageName; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -33,7 +33,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.configuration.ConfigUtils; -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class }) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesRedisProcessor { private static final Logger log = Logger.getLogger(DevServicesRedisProcessor.class); diff --git a/extensions/resteasy-reactive/rest-client/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/devservices/DevServicesRestClientHttpProxyProcessor.java b/extensions/resteasy-reactive/rest-client/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/devservices/DevServicesRestClientHttpProxyProcessor.java index 985a8cf3ae217..5d1464dac62b4 100644 --- a/extensions/resteasy-reactive/rest-client/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/devservices/DevServicesRestClientHttpProxyProcessor.java +++ b/extensions/resteasy-reactive/rest-client/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/devservices/DevServicesRestClientHttpProxyProcessor.java @@ -21,7 +21,7 @@ import org.jboss.logging.Logger; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; @@ -37,7 +37,7 @@ import io.quarkus.resteasy.reactive.common.deployment.ResourceScanningResultBuildItem; import io.smallrye.config.SmallRyeConfig; -@BuildSteps(onlyIfNot = IsNormal.class) +@BuildSteps(onlyIf = IsDevServicesSupportedByLaunchMode.class) public class DevServicesRestClientHttpProxyProcessor { private static final Logger log = Logger.getLogger(DevServicesRestClientHttpProxyProcessor.class); diff --git a/extensions/schema-registry/devservice/deployment/src/main/java/io/quarkus/apicurio/registry/devservice/DevServicesApicurioRegistryProcessor.java b/extensions/schema-registry/devservice/deployment/src/main/java/io/quarkus/apicurio/registry/devservice/DevServicesApicurioRegistryProcessor.java index fb040c1f99ee8..a30802460dcd4 100644 --- a/extensions/schema-registry/devservice/deployment/src/main/java/io/quarkus/apicurio/registry/devservice/DevServicesApicurioRegistryProcessor.java +++ b/extensions/schema-registry/devservice/deployment/src/main/java/io/quarkus/apicurio/registry/devservice/DevServicesApicurioRegistryProcessor.java @@ -17,7 +17,7 @@ import io.quarkus.apicurio.registry.devservice.ApicurioRegistryBuildTimeConfig.ApicurioRegistryDevServicesBuildTimeConfig; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -40,7 +40,7 @@ /** * Starts Apicurio Registry as dev service if needed. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class DevServicesApicurioRegistryProcessor { private static final Logger log = Logger.getLogger(DevServicesApicurioRegistryProcessor.class); diff --git a/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallryeJwtDevModeProcessor.java b/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallryeJwtDevModeProcessor.java index 518f862e835cc..1fc8ec985d70f 100644 --- a/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallryeJwtDevModeProcessor.java +++ b/extensions/smallrye-jwt/deployment/src/main/java/io/quarkus/smallrye/jwt/deployment/SmallryeJwtDevModeProcessor.java @@ -24,7 +24,7 @@ import io.quarkus.bootstrap.workspace.ArtifactSources; import io.quarkus.bootstrap.workspace.SourceDir; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.DevServicesResultBuildItem; @@ -76,7 +76,7 @@ public class SmallryeJwtDevModeProcessor { * @throws NoSuchAlgorithmException if RSA-256 key generation fails. * @throws IOException if persistent key storage fails */ - @BuildStep(onlyIfNot = { IsNormal.class }) + @BuildStep(onlyIf = { IsDevServicesSupportedByLaunchMode.class }) void generateSignKeys(BuildProducer devServices, LiveReloadBuildItem liveReloadBuildItem, CurateOutcomeBuildItem curateOutcomeBuildItem, diff --git a/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/AmqpDevServicesProcessor.java b/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/AmqpDevServicesProcessor.java index 64904b64d8a80..47e3bafbc99b0 100644 --- a/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/AmqpDevServicesProcessor.java +++ b/extensions/smallrye-reactive-messaging-amqp/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/amqp/deployment/AmqpDevServicesProcessor.java @@ -20,7 +20,7 @@ import org.testcontainers.utility.DockerImageName; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -47,7 +47,7 @@ * It uses activemq-artemis-broker as image. * See Artemis Cloud for details. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class AmqpDevServicesProcessor { private static final Logger log = Logger.getLogger(AmqpDevServicesProcessor.class); diff --git a/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/MqttDevServicesProcessor.java b/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/MqttDevServicesProcessor.java index 7386bdab903db..b9145e00eb7a4 100644 --- a/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/MqttDevServicesProcessor.java +++ b/extensions/smallrye-reactive-messaging-mqtt/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/mqtt/deployment/MqttDevServicesProcessor.java @@ -23,7 +23,7 @@ import io.quarkus.bootstrap.classloading.QuarkusClassLoader; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.DevServicesComposeProjectBuildItem; @@ -45,7 +45,7 @@ /** * Starts a Mosquitto broker as dev service if needed. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class MqttDevServicesProcessor { private static final Logger log = Logger.getLogger(MqttDevServicesProcessor.class); diff --git a/extensions/smallrye-reactive-messaging-pulsar/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/pulsar/deployment/PulsarDevServicesProcessor.java b/extensions/smallrye-reactive-messaging-pulsar/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/pulsar/deployment/PulsarDevServicesProcessor.java index c2e2cfe033432..391a94127e8bc 100644 --- a/extensions/smallrye-reactive-messaging-pulsar/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/pulsar/deployment/PulsarDevServicesProcessor.java +++ b/extensions/smallrye-reactive-messaging-pulsar/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/pulsar/deployment/PulsarDevServicesProcessor.java @@ -18,7 +18,7 @@ import org.testcontainers.utility.DockerImageName; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem; @@ -43,7 +43,7 @@ * Starts a Pulsar broker as dev service if needed. * It uses https://hub.docker.com/r/apachepulsar/pulsar as image. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class PulsarDevServicesProcessor { private static final Logger log = Logger.getLogger(PulsarDevServicesProcessor.class); diff --git a/extensions/smallrye-reactive-messaging-rabbitmq/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/rabbitmq/deployment/RabbitMQDevServicesProcessor.java b/extensions/smallrye-reactive-messaging-rabbitmq/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/rabbitmq/deployment/RabbitMQDevServicesProcessor.java index c41f8631050a6..b32e56ef0a11a 100644 --- a/extensions/smallrye-reactive-messaging-rabbitmq/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/rabbitmq/deployment/RabbitMQDevServicesProcessor.java +++ b/extensions/smallrye-reactive-messaging-rabbitmq/deployment/src/main/java/io/quarkus/smallrye/reactivemessaging/rabbitmq/deployment/RabbitMQDevServicesProcessor.java @@ -23,7 +23,7 @@ import io.quarkus.bootstrap.classloading.QuarkusClassLoader; import io.quarkus.deployment.Feature; -import io.quarkus.deployment.IsNormal; +import io.quarkus.deployment.IsDevServicesSupportedByLaunchMode; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.BuildSteps; import io.quarkus.deployment.builditem.DevServicesComposeProjectBuildItem; @@ -47,7 +47,7 @@ /** * Starts a RabbitMQ broker as dev service if needed. */ -@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = DevServicesConfig.Enabled.class) +@BuildSteps(onlyIf = { IsDevServicesSupportedByLaunchMode.class, DevServicesConfig.Enabled.class }) public class RabbitMQDevServicesProcessor { private static final Logger log = Logger.getLogger(RabbitMQDevServicesProcessor.class); diff --git a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/BootstrapProfile.java b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/BootstrapProfile.java index 3642f42b0954f..647e642eceab9 100644 --- a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/BootstrapProfile.java +++ b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/BootstrapProfile.java @@ -56,6 +56,7 @@ public static String getActiveProfile(QuarkusBootstrap.Mode mode) { return DEV; case REMOTE_DEV_CLIENT: case PROD: + case RUN: return PROD; default: throw new RuntimeException("unknown mode:" + mode); diff --git a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/QuarkusBootstrap.java b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/QuarkusBootstrap.java index 35f44526d7eab..838dc72f995df 100644 --- a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/QuarkusBootstrap.java +++ b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/app/QuarkusBootstrap.java @@ -575,6 +575,7 @@ public QuarkusBootstrap build() { public enum Mode { DEV, TEST, + RUN, PROD, REMOTE_DEV_SERVER, REMOTE_DEV_CLIENT,