Avoid using field injection in the core NativeImageProcessor
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
index ede3d3f..9c9f346 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
@@ -26,8 +26,6 @@
 import java.util.Properties;
 import java.util.stream.Collectors;
 
-import javax.inject.Inject;
-
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem;
@@ -52,7 +50,6 @@
 import org.jboss.jandex.ClassInfo;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.IndexView;
-import org.jboss.jandex.MethodInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -74,18 +71,13 @@
                 StreamCachingStrategy.SpoolUsedHeapMemoryLimit.class,
                 PropertiesComponent.class);
 
-        @Inject
-        BuildProducer<ReflectiveClassBuildItem> reflectiveClass;
-        @Inject
-        BuildProducer<ReflectiveMethodBuildItem> reflectiveMethod;
-        @Inject
-        BuildProducer<NativeImageResourceBuildItem> resource;
-        @Inject
-        ApplicationArchivesBuildItem applicationArchivesBuildItem;
-
         @BuildStep
-        void process(CombinedIndexBuildItem combinedIndex) {
-            IndexView view = combinedIndex.getIndex();
+        void reflectiveItems(
+                CombinedIndexBuildItem combinedIndex,
+                BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
+                BuildProducer<ReflectiveMethodBuildItem> reflectiveMethod) {
+
+            final IndexView view = combinedIndex.getIndex();
 
             CAMEL_REFLECTIVE_CLASSES.stream()
                     .map(Class::getName)
@@ -93,7 +85,7 @@
                     .map(view::getAllKnownImplementors)
                     .flatMap(Collection::stream)
                     .filter(CamelSupport::isPublic)
-                    .forEach(v -> addReflectiveClass(true, v.name().toString()));
+                    .forEach(v -> reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, v.name().toString())));
 
             Logger log = LoggerFactory.getLogger(NativeImageProcessor.class);
             DotName converter = DotName.createSimple(Converter.class.getName());
@@ -120,32 +112,44 @@
                     .collect(Collectors.toList());
 
             log.debug("Converter classes: " + converterClasses);
-            converterClasses.forEach(ci -> addReflectiveClass(false, ci.name().toString()));
+            converterClasses
+                    .forEach(ci -> reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, ci.name().toString())));
 
             view.getAnnotations(converter)
                     .stream()
                     .filter(ai -> ai.target().kind() == Kind.METHOD)
                     .filter(ai -> converterClasses.contains(ai.target().asMethod().declaringClass()))
                     .map(ai -> ai.target().asMethod())
-                    .forEach(this::addReflectiveMethod);
+                    .forEach(mi -> reflectiveMethod.produce(new ReflectiveMethodBuildItem(mi)));
 
-            CamelSupport.resources(applicationArchivesBuildItem, "META-INF/maven/org.apache.camel/camel-base")
-                    .forEach(this::addResource);
-            CamelSupport.resources(applicationArchivesBuildItem, CamelSupport.CAMEL_SERVICE_BASE_PATH)
-                    .forEach(this::addCamelService);
         }
 
-        protected void addCamelService(Path p) {
+        @BuildStep
+        void resourcesAndServices(
+                ApplicationArchivesBuildItem applicationArchivesBuildItem,
+                BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
+                BuildProducer<NativeImageResourceBuildItem> resource) {
+
+            CamelSupport.resources(applicationArchivesBuildItem, "META-INF/maven/org.apache.camel/camel-base")
+                    .forEach(p -> resource.produce(new NativeImageResourceBuildItem(p.toString().substring(1))));
+            CamelSupport.resources(applicationArchivesBuildItem, CamelSupport.CAMEL_SERVICE_BASE_PATH)
+                    .forEach(path -> addCamelService(path, reflectiveClass, resource));
+        }
+
+        static void addCamelService(
+                Path p,
+                BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
+                BuildProducer<NativeImageResourceBuildItem> resource) {
             try (InputStream is = Files.newInputStream(p)) {
                 Properties props = new Properties();
                 props.load(is);
                 for (Map.Entry<Object, Object> entry : props.entrySet()) {
                     String k = entry.getKey().toString();
                     if (k.equals("class")) {
-                        addReflectiveClass(true, entry.getValue().toString());
+                        reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, entry.getValue().toString()));
                     } else if (k.endsWith(".class")) {
-                        addReflectiveClass(true, entry.getValue().toString());
-                        addResource(p);
+                        reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, entry.getValue().toString()));
+                        resource.produce(new NativeImageResourceBuildItem(p.toString().substring(1)));
                     }
                 }
             } catch (Exception e) {
@@ -153,21 +157,6 @@
             }
         }
 
-        protected void addResource(Path p) {
-            addResource(p.toString().substring(1));
-        }
-
-        protected void addResource(String r) {
-            resource.produce(new NativeImageResourceBuildItem(r));
-        }
-
-        protected void addReflectiveClass(boolean methods, String... className) {
-            reflectiveClass.produce(new ReflectiveClassBuildItem(methods, false, className));
-        }
-
-        protected void addReflectiveMethod(MethodInfo mi) {
-            reflectiveMethod.produce(new ReflectiveMethodBuildItem(mi));
-        }
     }
 
     /*