Repository: quarkusio/quarkus
Issue: Quarkus 3.0.0.CR1/CR2 project - quarkus-maven-plugin:update fails, unable to resolve quarkus-update-recipes

### Describe the bug

Quarkus 3.0.0.CR1 project - quarkus-maven-plugin:update fails with `Failed to resolve version for io.quarkus:quarkus-update-recipes:jar:LATEST` error.

```
 mvn quarkus:update
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus-maven-plugin:3.0.0.CR1:update (default-cli) @ code-with-quarkus ---
[WARNING] quarkus:update goal is experimental, its options and output might change in future versions
[INFO] Instructions to update this project from '3.0.0.CR1' to '2.16.5.Final':
[INFO]
[INFO] Recommended Quarkus platform BOM updates:
[INFO] Update: io.quarkus.platform:quarkus-bom:pom:3.0.0.CR1 -> 2.16.5.Final
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.536 s
[INFO] Finished at: 2023-03-31T08:59:13+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.0.0.CR1:update (default-cli) on project code-with-quarkus: Execution default-cli of goal io.quarkus.platform:quarkus-maven-plugin:3.0.0.CR1:update failed: Failed to resolve artifact: io.quarkus:quarkus-update-recipes:LATEST: Failed to resolve artifact io.quarkus:quarkus-update-recipes:jar:LATEST: Failed to resolve version for io.quarkus:quarkus-update-recipes:jar:LATEST: Could not find metadata io.quarkus:quarkus-update-recipes/maven-metadata.xml in local (/Users/rsvoboda/.m2/repository) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
```

### Expected behavior

Command finishes successfully 

### Actual behavior

Command fails

### How to Reproduce?

Download app from https://code.quarkus.io/?S=io.quarkus.platform%3A3.0

run `mvn quarkus:update`

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

_No response_

### Output of `java -version`

Java 17

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

3.0.0.CR1

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

_No response_

### Additional information

_No response_

Changed files:
devtools/cli/src/main/java/io/quarkus/cli/Update.java
independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/UpdateProjectCommandHandler.java
devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java
devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java
devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java

diff --git a/devtools/cli/src/main/java/io/quarkus/cli/Update.java b/devtools/cli/src/main/java/io/quarkus/cli/Update.java
index c017b3ba91b..7cd4237227f 100644
--- a/devtools/cli/src/main/java/io/quarkus/cli/Update.java
+++ b/devtools/cli/src/main/java/io/quarkus/cli/Update.java
@@ -15,7 +15,7 @@ public class Update extends BaseBuildCommand implements Callable<Integer> {
     @CommandLine.ArgGroup(order = 0, heading = "%nTarget Quarkus version:%n", multiplicity = "0..1")
     TargetQuarkusVersionGroup targetQuarkusVersion = new TargetQuarkusVersionGroup();
 
-    @CommandLine.ArgGroup(order = 1, heading = "%nRewrite:%n")
+    @CommandLine.ArgGroup(order = 1, heading = "%nRewrite:%n", exclusive = false)
     RewriteGroup rewrite = new RewriteGroup();
 
     @CommandLine.Option(order = 2, names = { "--per-module" }, description = "Display information per project module.")
diff --git a/devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java b/devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java
index f0737db487a..9611986e102 100644
--- a/devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java
+++ b/devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java
@@ -163,7 +163,7 @@ public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, Rew
             args.add(targetQuarkusVersion.platformVersion);
         }
         if (!StringUtil.isNullOrEmpty(targetQuarkusVersion.streamId)) {
-            args.add("--streamId");
+            args.add("--stream");
             args.add(targetQuarkusVersion.streamId);
         }
         if (rewrite.pluginVersion != null) {
diff --git a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java
index 724ef304309..d5ef9326ac4 100644
--- a/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java
+++ b/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java
@@ -29,7 +29,7 @@ public abstract class QuarkusUpdate extends QuarkusPlatformTask {
 
     private String rewritePluginVersion = QuarkusUpdateCommand.DEFAULT_GRADLE_REWRITE_PLUGIN_VERSION;
 
-    private String rewriteUpdateRecipesVersion;
+    private String rewriteUpdateRecipesVersion = null;
 
     @Input
     @Optional
@@ -93,7 +93,7 @@ public String getTargetStreamId() {
         return targetStreamId;
     }
 
-    @Option(description = "A target stream id, for example:  2.0", option = "streamId")
+    @Option(description = "A target stream, for example:  2.0", option = "stream")
     public void setStreamId(String targetStreamId) {
         this.targetStreamId = targetStreamId;
     }
@@ -141,7 +141,12 @@ public void logUpdates() {
 
         final UpdateProject invoker = new UpdateProject(quarkusProject);
         invoker.latestCatalog(targetCatalog);
-        invoker.rewritePluginVersion(rewritePluginVersion);
+        if (rewriteUpdateRecipesVersion != null) {
+            invoker.rewriteUpdateRecipesVersion(rewriteUpdateRecipesVersion);
+        }
+        if (rewritePluginVersion != null) {
+            invoker.rewritePluginVersion(rewritePluginVersion);
+        }
         invoker.targetPlatformVersion(targetPlatformVersion);
         invoker.rewriteDryRun(rewriteDryRun);
         invoker.noRewrite(noRewrite);
diff --git a/devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java b/devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java
index 902e0027559..98ddc7105a3 100644
--- a/devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java
+++ b/devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java
@@ -15,6 +15,7 @@
 import io.quarkus.devtools.commands.data.QuarkusCommandException;
 import io.quarkus.devtools.commands.data.QuarkusCommandOutcome;
 import io.quarkus.devtools.project.QuarkusProject;
+import io.quarkus.devtools.project.QuarkusProjectHelper;
 import io.quarkus.devtools.project.update.QuarkusUpdateCommand;
 import io.quarkus.maven.dependency.ArtifactCoords;
 import io.quarkus.registry.RegistryResolutionException;
@@ -91,7 +92,7 @@ protected void validateParameters() throws MojoExecutionException {
 
     @Override
     protected void processProjectState(QuarkusProject quarkusProject) throws MojoExecutionException {
-
+        QuarkusProjectHelper.setArtifactResolver(artifactResolver());
         final ExtensionCatalog targetCatalog;
         try {
             if (platformVersion != null) {
@@ -120,7 +121,7 @@ protected void processProjectState(QuarkusProject quarkusProject) throws MojoExe
             invoker.rewritePluginVersion(rewritePluginVersion);
         }
         if (rewriteUpdateRecipesVersion != null) {
-            invoker.rewritePluginVersion(rewriteUpdateRecipesVersion);
+            invoker.rewriteUpdateRecipesVersion(rewriteUpdateRecipesVersion);
         }
         invoker.rewriteDryRun(rewriteDryRun);
         invoker.noRewrite(noRewrite);
diff --git a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/UpdateProjectCommandHandler.java b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/UpdateProjectCommandHandler.java
index 95a3ee6914e..e66706a7ea6 100644
--- a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/UpdateProjectCommandHandler.java
+++ b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/UpdateProjectCommandHandler.java
@@ -83,6 +83,8 @@ public QuarkusCommandOutcome execute(QuarkusCommandInvocation invocation) throws
                             QuarkusProjectHelper.artifactResolver(), updateRecipesVersion, request);
                     final String rewritePluginVersion = invocation.getValue(UpdateProject.REWRITE_PLUGIN_VERSION);
                     final boolean rewriteDryRun = invocation.getValue(UpdateProject.REWRITE_DRY_RUN, false);
+                    invocation.log().warn(
+                            "The update feature does not yet handle updates of the extension versions. If needed, update your extensions manually.");
                     QuarkusUpdateCommand.handle(
                             invocation.log(),
                             quarkusProject.getExtensionManager().getBuildTool(),