quarkusio/quarkus · error · IllegalStateException
This build tool does not support update ${buildTool}
Error message
This build tool does not support update ${buildTool} What it means
getPropRewritePluginVersion() maps a BuildTool enum to the rewrite plugin version property for Maven or Gradle builds. If the project's build tool is anything else (e.g. no build files detected or an unsupported tool), it throws IllegalStateException("This build tool does not support update <buildTool>") because `quarkus update` recipe fetching only supports Maven and Gradle.
Source
Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java:139
throw new RuntimeException("Failed to load recipes in artifact: " + gav, e);
}
}
return new FetchResult(String.join(",", artifacts),
recipes, propRewritePluginVersion);
}
private static String getPropRewritePluginVersion(Properties props, BuildTool buildTool) {
switch (buildTool) {
case MAVEN:
return Optional.ofNullable(props.getProperty(PROP_REWRITE_MAVEN_PLUGIN_VERSION))
.orElse(DEFAULT_MAVEN_REWRITE_PLUGIN_VERSION);
case GRADLE:
case GRADLE_KOTLIN_DSL:
return Optional.ofNullable(props.getProperty(PROP_REWRITE_GRADLE_PLUGIN_VERSION))
.orElse(DEFAULT_GRADLE_REWRITE_PLUGIN_VERSION);
default:
throw new IllegalStateException("This build tool does not support update " + buildTool);
}
}
private static boolean isRecipeFile(Path p) {
return p.getFileName().toString()
.matches("^\\d\\H+.ya?ml$");
}
public static class FetchResult {
private final String recipesGAV;
private final List<String> recipes;
private final String rewritePluginVersion;
public FetchResult(String recipesGAV, List<String> recipes, String rewritePluginVersion) {
this.recipesGAV = recipesGAV;
this.rewritePluginVersion = rewritePluginVersion;
this.recipes = recipes;View on GitHub (pinned to e1c734241f)
Solutions
- Run `quarkus update` from the project root where a pom.xml or build.gradle(.kts) exists.
- Add the appropriate Maven or Gradle build file if the project genuinely uses one of those tools but the file is missing.
- Migrate the project to Maven or Gradle before using the rewrite-based update flow.
- Upgrade the Quarkus CLI if support for your build tool was added in a newer release.
Example fix
// before: project root without build files $ cd ~/misc && quarkus update # IllegalStateException // after: run in the Maven project $ cd ~/my-quarkus-app # contains pom.xml $ quarkus update
Defensive patterns
Strategy: validation
Validate before calling
if (buildTool != BuildTool.MAVEN && buildTool != BuildTool.GRADLE && buildTool != BuildTool.GRADLE_KOTLIN_DSL) {
throw new IllegalStateException("quarkus update requires Maven or Gradle project; detected: " + buildTool);
} Try / catch
try {
String v = repo.pluginVersion(buildTool);
} catch (IllegalStateException e) {
log.error("Run quarkus update from a project with pom.xml or build.gradle");
} Prevention
- Run `quarkus update` from a directory containing pom.xml or build.gradle(.kts).
- Do not attempt rewrite-based updates on unsupported build systems.
- Confirm build tool detection with `quarkus build` before updating.
- Check CLI release notes for added build-tool support.
When it happens
Trigger: Calling getPropRewritePluginVersion (via pluginVersion/fetchRecipes during `quarkus update`) on a project whose detected BuildTool is not MAVEN, GRADLE, or GRADLE_KOTLIN_DSL — the switch falls to the default branch.
Common situations: Running `quarkus update` in a directory with no pom.xml or Gradle build files; a project using an unsupported build system (SBT, Bazel, plain Ant); a misdetected build tool because both Maven and Gradle files are absent while the CLI infers a default.
Related errors
- ${buildTool} is not supported yet
- This operation is only supported for Gradle projects
- Quarkus Gradle plugins require Gradle
- Unable to add extensions
- Failed to initialize Maven artifact resolver
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/ce8b6e9b0634a4a7.
Report an issue: GitHub.