Repository: quarkusio/quarkus
Issue: io.quarkus.qute.i18n.MessageBundle annotated class *__Bundle not found for multi-module gradle project in test mode

### Describe the bug

Kind of related to [this](https://github.com/quarkusio/quarkus/issues/20063)

In a similar multi-module gradle setup, 
when we use a @MessageBundle annotated class

@MessageBundle(value = "alert")
public interface AlertMessages {

    @Message("")
    String withoutParams();

    @Message("")
    String withParams(String name);
}
with several localized implementations generated from the provided messages/alert_xx.properties files
we get the following error when trying to run the integration tests in the `integration-test` sub-module  in test mode
> Caused by: java.lang.NoClassDefFoundError: org/acme/AlertMessages_Bundle

This error does not affect single module projects.


### Expected behavior

The integration tets should be able to be executed in test mode as it happens in a single module project.

### Actual behavior

The application fails to start in test mode

> Caused by: java.lang.RuntimeException: Failed to start quarkus
...
> Caused by: java.lang.NoClassDefFoundError: org/acme/AlertMessages_Bundle

### How to Reproduce?

clone the following repo https://github.com/nikosk686/quarkus-message-bundle-poc
checkout the `2.2.0-multi-module-integration-tests-error` branch
and try to run the test located in the `integration-test` sub-module

You can also check the master branch which is a single module application and test runs correctly.

### Output of `uname -a` or `ver`

Linux dell-desktop 5.10.0-1045-oem #47-Ubuntu SMP Wed Aug 18 10:41:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

### Output of `java -version`

openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.2.0

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Gradle 6.9

### Additional information

The problem is not present in quarkus v1 (run the test in the `integration-test` sub-module in  the `1.13.7-working-single-module` branch of the above repo, it should pass)



Changed files:
extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/MessageBundleProcessor.java

diff --git a/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/MessageBundleProcessor.java b/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/MessageBundleProcessor.java
index 40e4ca0488a..ed28a9e4a09 100644
--- a/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/MessageBundleProcessor.java
+++ b/extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/MessageBundleProcessor.java
@@ -194,8 +194,8 @@ List<MessageBundleBuildItem> processBundles(BeanArchiveIndexBuildItem beanArchiv
 
         // Generate implementations
         // name -> impl class
-        Map<String, String> generatedImplementations = generateImplementations(bundles,
-                applicationArchivesBuildItem, generatedClasses, messageTemplateMethods);
+        Map<String, String> generatedImplementations = generateImplementations(bundles, generatedClasses,
+                messageTemplateMethods);
 
         // Register synthetic beans
         for (MessageBundleBuildItem bundle : bundles) {
@@ -523,14 +523,12 @@ void generateExamplePropertiesFiles(List<MessageBundleMethodBuildItem> messageBu
     }
 
     private Map<String, String> generateImplementations(List<MessageBundleBuildItem> bundles,
-            ApplicationArchivesBuildItem applicationArchivesBuildItem,
             BuildProducer<GeneratedClassBuildItem> generatedClasses,
             BuildProducer<MessageBundleMethodBuildItem> messageTemplateMethods) throws IOException {
 
         Map<String, String> generatedTypes = new HashMap<>();
 
-        ClassOutput defaultClassOutput = new GeneratedClassGizmoAdaptor(generatedClasses,
-                new AppClassPredicate(applicationArchivesBuildItem));
+        ClassOutput defaultClassOutput = new GeneratedClassGizmoAdaptor(generatedClasses, new AppClassPredicate());
 
         for (MessageBundleBuildItem bundle : bundles) {
             ClassInfo bundleInterface = bundle.getDefaultBundleInterface();
@@ -577,17 +575,16 @@ private Map<String, String> generateImplementations(List<MessageBundleBuildItem>
 
                 String locale = entry.getKey();
                 ClassOutput localeAwareGizmoAdaptor = new GeneratedClassGizmoAdaptor(generatedClasses,
-                        new AppClassPredicate(applicationArchivesBuildItem,
-                                new Function<String, String>() {
-                                    @Override
-                                    public String apply(String className) {
-                                        String localeSuffix = "_" + locale;
-                                        if (className.endsWith(localeSuffix)) {
-                                            return className.replace(localeSuffix, "");
-                                        }
-                                        return className;
-                                    }
-                                }));
+                        new AppClassPredicate(new Function<String, String>() {
+                            @Override
+                            public String apply(String className) {
+                                String localeSuffix = "_" + locale;
+                                if (className.endsWith(localeSuffix)) {
+                                    return className.replace(localeSuffix, "");
+                                }
+                                return className;
+                            }
+                        }));
                 generatedTypes.put(localizedFile.toString(),
                         generateImplementation(bundle.getDefaultBundleInterface(), bundleImpl, bundleInterface,
                                 localeAwareGizmoAdaptor,
@@ -1018,16 +1015,13 @@ private Set<Path> findMessageFiles(ApplicationArchivesBuildItem applicationArchi
 
     private static class AppClassPredicate implements Predicate<String> {
 
-        private final ApplicationArchivesBuildItem applicationArchives;
         private final Function<String, String> additionalClassNameSanitizer;
 
-        public AppClassPredicate(ApplicationArchivesBuildItem applicationArchives) {
-            this(applicationArchives, Function.identity());
+        public AppClassPredicate() {
+            this(Function.identity());
         }
 
-        public AppClassPredicate(ApplicationArchivesBuildItem applicationArchives,
-                Function<String, String> additionalClassNameSanitizer) {
-            this.applicationArchives = applicationArchives;
+        public AppClassPredicate(Function<String, String> additionalClassNameSanitizer) {
             this.additionalClassNameSanitizer = additionalClassNameSanitizer;
         }
 
@@ -1041,8 +1035,7 @@ public boolean test(String name) {
             }
             // E.g. to match the bundle class generated for a localized file; org.acme.Foo_en -> org.acme.Foo
             className = additionalClassNameSanitizer.apply(className);
-            return applicationArchives.containingArchive(className) != null
-                    || GeneratedClassGizmoAdaptor.isApplicationClass(name);
+            return GeneratedClassGizmoAdaptor.isApplicationClass(className);
         }
     }
 }