final Module dependency = loadModuleDependency(dep); if (dependency == null) { continue; Map<URL, URL> resourcesMap = findExportedResources(dependency); if (!resourcesMap.isEmpty()) { List<BeanDeploymentArchiveImpl> moduleBdas = new ArrayList<>(); final BeansXml beansXml = parseBeansXml(beansXmlUrl, parser, deploymentUnit); Map<String, List<String>> allAndBeanClasses = discover(beansXml.getBeanDiscoveryMode(), beansXmlUrl, entry.getValue(), beanDefiningAnnotations); Collection<String> discoveredBeanClasses = allAndBeanClasses.get(BEAN_CLASSES);
/** * The entry key is bean.xml URL, value is (optional) jandex index URL. * * @param dependencyModule * @return the map of exported resources */ private Map<URL, URL> findExportedResources(Module dependencyModule) { Set<URL> beanXmls = findExportedResource(dependencyModule, META_INF_BEANS_XML); if (beanXmls.isEmpty()) { return Collections.emptyMap(); } Set<URL> indexes = findExportedResource(dependencyModule, META_INF_JANDEX_IDX); Map<URL, URL> ret = new HashMap<>(); for (URL beansXml : beanXmls) { String urlBase = beansXml.toString().substring(0, beansXml.toString().length() - META_INF_BEANS_XML.length()); URL idx = null; for (URL index : indexes) { if (index.toString().startsWith(urlBase)) { idx = index; break; } } ret.put(beansXml, idx); } return ret; }
Index index = tryLoadIndex(indexUrl); if (index != null) { ClassInfo classInfo = index.getClassByName(DotName.createSimple(name)); allKnownClasses.add(name); if (classInfo != null && hasBeanDefiningAnnotation(classInfo, beanDefiningAnnotations)) { discoveredBeanClasses.add(name); ClassInfo classInfo = indexer.index(in); allKnownClasses.add(name); if (classInfo != null && hasBeanDefiningAnnotation(classInfo, beanDefiningAnnotations)) { discoveredBeanClasses.add(name);
processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_DEVELOPMENT_MODE, new DevelopmentModeProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_BEAN_ARCHIVE, new BeanArchiveProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_EXTERNAL_BEAN_ARCHIVE, new ExternalBeanArchiveProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_PORTABLE_EXTENSIONS, new WeldPortableExtensionProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_COMPONENT_INTEGRATION, new WeldComponentIntegrationProcessor());
final BeansXml beansXml = parseBeansXml(entry.getKey(), parser, deploymentUnit);
protected void execute(DeploymentProcessorTarget processorTarget) { processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_CDI_ANNOTATIONS, new CdiAnnotationProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WELD_DEPLOYMENT, new BeansXmlProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.DEPENDENCIES, Phase.DEPENDENCIES_WELD, new WeldDependencyProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_WEB_INTEGRATION, new WebIntegrationProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_BEAN_ARCHIVE, new BeanArchiveProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_EXTERNAL_BEAN_ARCHIVE, new ExternalBeanArchiveProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_PORTABLE_EXTENSIONS, new WeldPortableExtensionProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_WELD_COMPONENT_INTEGRATION, new WeldComponentIntegrationProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_WELD_DEPLOYMENT, new WeldDeploymentProcessor()); processorTarget.addDeploymentProcessor(WeldExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_WELD_BEAN_MANAGER, new WeldBeanManagerServiceProcessor()); } }, OperationContext.Stage.RUNTIME);