Code review comment: > `#maybeCreate` already handles potential existing one. That's the "maybe" part.  This code path is hit multiple times but if this code is allowed to run multiple times it will create duplicate sets of metadata.  > TBH, I'm not sure why these get registered instead of created anyway.  register and create do the same thing, but create is eager whereas register is deferred. Deferring doesn't buy us much yet as Quarkus digs into these Configurations almost immediately right now.

Code under review:
private void setUpDeploymentConfiguration() {
        if (project.getConfigurations().findByName(this.deploymentConfigurationName) == null) {
            project.getConfigurations().register(this.deploymentConfigurationName, configuration -> {
                Configuration enforcedPlatforms = this.getPlatformConfiguration();
                configuration.extendsFrom(enforcedPlatforms);
                configuration.getDependencies().addAllLater(project.provider(() -> {
                    ConditionalDependenciesEnabler cdEnabler =
                        new ConditionalDependenciesEnabler(project, mode, enforcedPlatforms);
                    final Collection<ExtensionDependency> allExtensions = cdEnabler.getAllExtensions();
                    Set<ExtensionDependency> extensions = collectFirstMetQuarkusExtensions(getRawRuntimeConfiguration(), allExtensions);
                    
                    for (ExtensionDependency knownExtension : allExtensions) {
                        if (knownExtension.isConditional()) {
                            extensions.add(knownExtension);
                        }
                    }

                    final Set<ModuleVersionIdentifier> alreadyProcessed = new HashSet<>(extensions.size());
                    final DependencyHandler dependencies = project.getDependencies();
                    final Set<Dependency> deploymentDependencies = new HashSet<>();
                    for (ExtensionDependency extension : extensions) {
                        if (extension instanceof LocalExtensionDependency) {
                            LocalExtensionDependency localExtensionDependency = (LocalExtensionDependency) extension;
                            deploymentDependencies.add(
                                dependencies.project(Collections.singletonMap("path", localExtensionDependency.findDeploymentModulePath())));
                        } else {
                            if (!alreadyProcessed.add(extension.getExtensionId())) {
                                continue;
                            }
                            deploymentDependencies.add(dependencies.create(
                                extension.getDeploymentModule().getGroupId() + ":"
                                    + extension.getDeploymentModule().getArtifactId() + ":"
                                    + extension.getDeploymentModule().getVersion()));
                        }
                    }
                    return deploymentDependencies;
                }));
            });
        }
    }

Line commented on: project.getConfigurations().register(this.deploymentConfigurationName, configuration -> {

Revised code:
private void setUpDeploymentConfiguration() {
        if (project.getConfigurations().findByName(this.deploymentConfigurationName) == null) {
            project.getConfigurations().create(this.deploymentConfigurationName, configuration -> {
                Configuration enforcedPlatforms = this.getPlatformConfiguration();
                configuration.extendsFrom(enforcedPlatforms);
                configuration.getDependencies().addAllLater(project.provider(() -> {
                    ConditionalDependenciesEnabler cdEnabler = new ConditionalDependenciesEnabler(project, mode,
                            enforcedPlatforms);
                    final Collection<ExtensionDependency> allExtensions = cdEnabler.getAllExtensions();
                    Set<ExtensionDependency> extensions = collectFirstMetQuarkusExtensions(getRawRuntimeConfiguration(),
                            allExtensions);
                    
                    for (ExtensionDependency knownExtension : allExtensions) {
                        if (knownExtension.isConditional()) {
                            extensions.add(knownExtension);
                        }
                    }

                    final Set<ModuleVersionIdentifier> alreadyProcessed = new HashSet<>(extensions.size());
                    final DependencyHandler dependencies = project.getDependencies();
                    final Set<Dependency> deploymentDependencies = new HashSet<>();
                    for (ExtensionDependency extension : extensions) {
                        if (extension instanceof LocalExtensionDependency) {
                            LocalExtensionDependency localExtensionDependency = (LocalExtensionDependency) extension;
                            deploymentDependencies.add(
                                    dependencies.project(Collections.singletonMap("path",
                                            localExtensionDependency.findDeploymentModulePath())));
                        } else {
                            if (!alreadyProcessed.add(extension.getExtensionId())) {
                                continue;
                            }
                            deploymentDependencies.add(dependencies.create(
                                    extension.getDeploymentModule().getGroupId() + ":"
                                            + extension.getDeploymentModule().getArtifactId() + ":"
                                            + extension.getDeploymentModule().getVersion()));
                        }
                    }
                    return deploymentDependencies;
                }));
            });
        }
    }