diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 9778e90eb00f6..2b91178813250 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -587,6 +587,11 @@
quarkus-arc
${project.version}
+
+ io.quarkus
+ quarkus-arc-dev
+ ${project.version}
+
io.quarkus
quarkus-arc-deployment
diff --git a/extensions/arc/deployment/pom.xml b/extensions/arc/deployment/pom.xml
index 779cb9e6f9da3..165fabfb1268e 100644
--- a/extensions/arc/deployment/pom.xml
+++ b/extensions/arc/deployment/pom.xml
@@ -29,6 +29,10 @@
io.quarkus
quarkus-arc
+
+ io.quarkus
+ quarkus-arc-dev
+
io.quarkus.arc
arc-processor
diff --git a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevModeApiProcessor.java b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevModeApiProcessor.java
index 894aa9827118a..d173f3a707366 100644
--- a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevModeApiProcessor.java
+++ b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevModeApiProcessor.java
@@ -22,14 +22,14 @@
import io.quarkus.arc.processor.InjectionPointInfo;
import io.quarkus.arc.processor.InterceptorInfo;
import io.quarkus.arc.processor.ObserverInfo;
-import io.quarkus.deployment.IsDevelopment;
+import io.quarkus.deployment.IsLocalDevelopment;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.dev.console.DevConsoleManager;
public class ArcDevModeApiProcessor {
- @BuildStep(onlyIf = IsDevelopment.class)
+ @BuildStep(onlyIf = IsLocalDevelopment.class)
public void collectBeanInfo(ArcConfig config, ValidationPhaseBuildItem validationPhaseBuildItem,
CompletedApplicationClassPredicateBuildItem predicate,
BuildProducer arcBeanInfoProducer) {
diff --git a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevUIProcessor.java b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevUIProcessor.java
index fe0b50353eb3e..23d795fd26544 100644
--- a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevUIProcessor.java
+++ b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/devui/ArcDevUIProcessor.java
@@ -13,13 +13,13 @@
import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem;
import io.quarkus.arc.deployment.CustomScopeAnnotationsBuildItem;
import io.quarkus.arc.processor.AnnotationsTransformer;
-import io.quarkus.arc.runtime.devconsole.InvocationInterceptor;
-import io.quarkus.arc.runtime.devconsole.InvocationTree;
-import io.quarkus.arc.runtime.devconsole.InvocationsMonitor;
-import io.quarkus.arc.runtime.devconsole.Monitored;
-import io.quarkus.arc.runtime.devmode.EventsMonitor;
-import io.quarkus.arc.runtime.devui.ArcJsonRPCService;
-import io.quarkus.deployment.IsDevelopment;
+import io.quarkus.arc.runtime.dev.EventsMonitor;
+import io.quarkus.arc.runtime.dev.console.InvocationInterceptor;
+import io.quarkus.arc.runtime.dev.console.InvocationTree;
+import io.quarkus.arc.runtime.dev.console.InvocationsMonitor;
+import io.quarkus.arc.runtime.dev.console.Monitored;
+import io.quarkus.arc.runtime.dev.ui.ArcJsonRPCService;
+import io.quarkus.deployment.IsLocalDevelopment;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.devui.spi.JsonRPCProvidersBuildItem;
@@ -28,7 +28,7 @@
public class ArcDevUIProcessor {
- @BuildStep(onlyIf = IsDevelopment.class)
+ @BuildStep(onlyIf = IsLocalDevelopment.class)
public CardPageBuildItem pages(ArcBeanInfoBuildItem arcBeanInfoBuildItem, ArcConfig config) {
DevBeanInfos beanInfos = arcBeanInfoBuildItem.getBeanInfos();
@@ -102,12 +102,12 @@ public CardPageBuildItem pages(ArcBeanInfoBuildItem arcBeanInfoBuildItem, ArcCon
return pageBuildItem;
}
- @BuildStep(onlyIf = IsDevelopment.class)
+ @BuildStep(onlyIf = IsLocalDevelopment.class)
JsonRPCProvidersBuildItem createJsonRPCService() {
return new JsonRPCProvidersBuildItem(ArcJsonRPCService.class);
}
- @BuildStep(onlyIf = IsDevelopment.class)
+ @BuildStep(onlyIf = IsLocalDevelopment.class)
void registerMonitoringComponents(ArcConfig config, BuildProducer beans,
BuildProducer annotationTransformers,
CustomScopeAnnotationsBuildItem customScopes, List beanDefiningAnnotations) {
diff --git a/extensions/arc/pom.xml b/extensions/arc/pom.xml
index 386df972b8bcb..1b1659c9941b1 100644
--- a/extensions/arc/pom.xml
+++ b/extensions/arc/pom.xml
@@ -17,6 +17,7 @@
deployment
runtime
test-supplement
+ runtime-dev
diff --git a/extensions/arc/runtime-dev/pom.xml b/extensions/arc/runtime-dev/pom.xml
new file mode 100644
index 0000000000000..e9e76520402bb
--- /dev/null
+++ b/extensions/arc/runtime-dev/pom.xml
@@ -0,0 +1,23 @@
+
+
+
+ quarkus-arc-parent
+ io.quarkus
+ 999-SNAPSHOT
+
+ 4.0.0
+
+ quarkus-arc-dev
+ Quarkus - ArC - Runtime Dev mode
+ Build time CDI dependency injection - Dev mode only
+
+
+
+ ${project.groupId}
+ quarkus-arc
+
+
+
+
\ No newline at end of file
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventInfo.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventInfo.java
similarity index 96%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventInfo.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventInfo.java
index 9ce8f7a265fc4..061ce394617b3 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventInfo.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventInfo.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devmode;
+package io.quarkus.arc.runtime.dev;
import java.util.List;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventsMonitor.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventsMonitor.java
similarity index 99%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventsMonitor.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventsMonitor.java
index 94a6ebb2d7819..25a5a9adfdf05 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/EventsMonitor.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/EventsMonitor.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devmode;
+package io.quarkus.arc.runtime.dev;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/InvocationInfo.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/InvocationInfo.java
similarity index 96%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/InvocationInfo.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/InvocationInfo.java
index acc98f37e7207..e918789d6c0dd 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devmode/InvocationInfo.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/InvocationInfo.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devmode;
+package io.quarkus.arc.runtime.dev;
import java.util.List;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Invocation.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Invocation.java
similarity index 99%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Invocation.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Invocation.java
index cd301510a341d..99a1bc71dcddc 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Invocation.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Invocation.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devconsole;
+package io.quarkus.arc.runtime.dev.console;
import java.lang.reflect.Method;
import java.time.Instant;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationInterceptor.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationInterceptor.java
similarity index 95%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationInterceptor.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationInterceptor.java
index 611e46898dc5b..3976e7d257afa 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationInterceptor.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationInterceptor.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devconsole;
+package io.quarkus.arc.runtime.dev.console;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
@@ -19,8 +19,8 @@
import io.quarkus.arc.ArcContainer;
import io.quarkus.arc.InjectableBean;
import io.quarkus.arc.ManagedContext;
-import io.quarkus.arc.runtime.devconsole.Invocation.Builder;
-import io.quarkus.arc.runtime.devconsole.Invocation.Kind;
+import io.quarkus.arc.runtime.dev.console.Invocation.Builder;
+import io.quarkus.arc.runtime.dev.console.Invocation.Kind;
@Priority(Interceptor.Priority.LIBRARY_BEFORE)
@Monitored
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationTree.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationTree.java
similarity index 96%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationTree.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationTree.java
index 5f43e0d396743..ac3d01ddf633d 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationTree.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationTree.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devconsole;
+package io.quarkus.arc.runtime.dev.console;
import java.lang.reflect.Method;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationsMonitor.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationsMonitor.java
similarity index 97%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationsMonitor.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationsMonitor.java
index 0f25f90f722f6..e459fbe8fab4d 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/InvocationsMonitor.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/InvocationsMonitor.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devconsole;
+package io.quarkus.arc.runtime.dev.console;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Monitored.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Monitored.java
similarity index 90%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Monitored.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Monitored.java
index 6c3c7c2601940..8cf6716b3ab53 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devconsole/Monitored.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/console/Monitored.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devconsole;
+package io.quarkus.arc.runtime.dev.console;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
diff --git a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devui/ArcJsonRPCService.java b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/ui/ArcJsonRPCService.java
similarity index 92%
rename from extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devui/ArcJsonRPCService.java
rename to extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/ui/ArcJsonRPCService.java
index c2de24e73fd49..b4c727af16ea4 100644
--- a/extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/devui/ArcJsonRPCService.java
+++ b/extensions/arc/runtime-dev/src/main/java/io/quarkus/arc/runtime/dev/ui/ArcJsonRPCService.java
@@ -1,4 +1,4 @@
-package io.quarkus.arc.runtime.devui;
+package io.quarkus.arc.runtime.dev.ui;
import java.time.Instant;
import java.time.LocalDateTime;
@@ -14,11 +14,11 @@
import io.quarkus.arc.Arc;
import io.quarkus.arc.InjectableBean;
-import io.quarkus.arc.runtime.devconsole.Invocation;
-import io.quarkus.arc.runtime.devconsole.InvocationsMonitor;
-import io.quarkus.arc.runtime.devmode.EventInfo;
-import io.quarkus.arc.runtime.devmode.EventsMonitor;
-import io.quarkus.arc.runtime.devmode.InvocationInfo;
+import io.quarkus.arc.runtime.dev.EventInfo;
+import io.quarkus.arc.runtime.dev.EventsMonitor;
+import io.quarkus.arc.runtime.dev.InvocationInfo;
+import io.quarkus.arc.runtime.dev.console.Invocation;
+import io.quarkus.arc.runtime.dev.console.InvocationsMonitor;
import io.smallrye.common.annotation.NonBlocking;
import io.smallrye.mutiny.Multi;
diff --git a/extensions/arc/runtime/pom.xml b/extensions/arc/runtime/pom.xml
index 7dbc125035b2c..7f5d3376d7164 100644
--- a/extensions/arc/runtime/pom.xml
+++ b/extensions/arc/runtime/pom.xml
@@ -33,11 +33,14 @@
io.quarkus
quarkus-extension-maven-plugin
-
-
- io.quarkus.cdi
-
-
+
+
+ io.quarkus.cdi
+
+
+ ${project.groupId}:${project.artifactId}-dev:${project.version}
+
+
maven-compiler-plugin